Cách chạy các ca kiểm thử CTS

Một phần của tài liệu phương pháp và công cụ để hỗ trợ kiểm thử phần mềm android (Trang 26 - 30)

4.1. Sao chép dữ liệu vào thiết bị.

Việc đầu tiên cần làm là sao chép toàn bô dữ liệu phục vụ kiểm thử vào thiết bị. Các dữ liệu trong tệp này sẽ được dùng khi thực thi các ca kiểm thử. Và có thể tải về tại địa chỉ http://dl.google.com/dl/android/cts/android-cts-media-1.0.zip.

Giải nén tệp tin “android-cts-media-1.0.zip” vừa mới tải được bên trên sau đó chỉnh sửa file” copy_media.sh” sau khi giải nén tại dòng 17 “max_resolution=0” đổi thành “max_resolution =3”.

Chạy tệp “copy_medias.sh” bằng cách truy cập trực tiếp đường đẫn đến bộ nhớ chứa nó và chạy trên cửa sổ lệnh.

Đưa thiết bị cần kiểm thử về màn hình chính để bắt đầu kiểm tra sự tương thích của thiết bị với hệ điều hành Android.

4.2. Kiểm thử một Plan

Bước 1: Kết nối thiết bị cần kiểm thử với máy tính (PC) sử dụng hê điều hành Linux.

Bước 2: Đưa thiết bị trở về màn hình chính để bắt đầuquá trình kiểmthử.

Bước 3: Trong khi thiết bị chạy CTS không được thực thi bất kỳ một tác vụ nào khác và phải giữ thiết bị ở trạng thái tĩnh (tránh các cảm biến tác động đến nó).

Bước 4: Không được chạm vào bất kỳ phím nào trên thiết bị khi quá trình kiểm thử đang diễn ra. Vì đây là kiểm thử tự động nên việc nhấn vào bàn phím hay chạm vào màn hình của thiết bị kiểm thử sẽ gây trở ngại đến quá trình kiểm thử và gia tăng số lượng lỗi của các ca kiểm thử dẫn đến mất nhiều thời gian chạy lại để đạt được một kết quả kiểm thử ổn định nhất.

Bước 5: Nếu muốn quá trình kiểm thử diễn ra nhanh hơn thì nên xóa các kết quả của những lần kiểm thử trước bằng cách truy cập “android-cts/repository/result/...”.

Bước 6: Khởi tạo giao diện điều khiển CTS (console) bằng cách chạy cts- tradefed script từ thư mục nơi mà gói CTS được tải về và giải nén. Ví dụ: $./android- cts/tools/cts-tradefed.

Bước 7: Kiểm tra xem đã chạy được tệp tin “cts-tradefed” chưa bằng dòng hiển thị thiết bị đã được kết nối đến máy tính để thực hiện kiểm thử.

Bước 8: Gõ câu lệnh command “run cts--plans CTS-TF” để bắt đầu kiểm thử trên thiết bị đã được kết nối hoặc cũng có thể chọn Plan mặc định “run cts—plans CTS”.

Lưu ý: Xem tiến trình thử nghiệm và báo cáo kết quả trên màn hình điều khiển (console). Nếu thiết bị của bạn là Android 5.0 hoặc mới hơn và hỗ trợ cho một ARM và x86ABI, có thể thực thi cả 2 gói ARM và x86 CTS.

4.3. Các câu lệnh hỗ trợ tối ưu thời gian kiểm thử.

Thông thường mỗi bộ kiểm thử của Google trên các thiết bị Andoroid từ vài chục nghìn đến hơn bốn trăm nghìn ca kiểm thử. Vì thế nếu chỉ chạy trên một thiết bị tại một thời điểm thời gian kiểm thử sẽ mất khoảng 12- 24 giờ. Vì vậy Google đã đưa ra một giải pháp có thể kiểm thử cùng một lúc với nhiều thiết bị cần kiểm tra bằng cách tự động phân chia các gói (package) lần lượt cho các thiết bị với các yêu cầu sau:

Các thiết bị kiểm thử được cấu hình cùng phiên bản phần mềm.

Cài đặt môi trường cần thiết để kiểm thử cho tất cả các thiết bị và kết nối các thiết bị này với máy tính.

Sử dụng câu lệnh “run cts –plan CTS-TF –shard # “ (# số thiết bị đã kết nối với máy tính để kiểm thử).

Kết quả sau khi kiểm thử sẽ chứa thông tin của tất cả các thiết bị.

Với việc hỗ trợ kiểm thử đồng thời trên nhiều thiết bị cùng lúc đã giảm thiểu được tối đa thời gian kiểm tra sự tương thích của phần mềm Android đối với phần cứng của thiết bị. Đây là một ưu điểm cực mạnh của phương pháp CTS đưa ra giúp các nhà sản xuất tiết kiệm thời gian, công sức trong quá trình kiểm thử.

4.4. Tái kiểm thử trên kết quả cũ.

Do bộ kiểm thử có quá nhiều ca kiểm thử nên khi kiểm thử một lần thì khó có thể ra một kết quả chính xác hoàn toàn vì vậy viêc chạy lại các ca kiểm thử bị lỗi để xác định tín đúng đắn của nó là rất cần thiết. Các bước để chạy lại như sau:

Truy cập đến thư mục chứa kết quả vừa mới tạo ra sau khi kiểm thử lần đầu tại “android-cts/repository/results/2016.xx.xx_xx.xx.xx”. Chọn file “testResult.xml” và mở nó bằng Notepad hoặc Notepad++. Thay thế toàn bộ những ca kiểm thử “fail” và “timeout” bằng “notExecute” và lưu kết quả đó lại. Khi đó những ca kiểm thử bị lỗi “fail” sẽ chưa được thực thi “notExecute”, phương pháp CTS sẽ nhận diện được các ca kiểm thử này và chỉ tái kiểm thử trên những ca kiểm thử đó.

Ví dụ:

<Test name = “testPermissionDeffiCert” result = ”fail” starttime = “>

Khi đã thực thi xong các ca kiểm thử chúng ta sẽ có danh sách các kết quả.

Sử dụng lệnh “ l r” để check các phiên “session” đã thực thi kiểm thử như hình dưới đây.

Theo như hình trên Plan này đã được kiểm thử 4 lần, các session ID lần lượt là 0,1,2,3. Tương ứng với các session là số ca kiểm thử Pass, Fail và Not Executed. Muốn chạy lại session nào đó thì sử dụng câu lệnh “ run cts continue-session SESSION_ID”.

Việc chỉnh sửa và thực thi lại các ca kiểm thử lỗi này ít nhất 3 lần thì sẽ được kết quả kiểm thử tương đối chính xác.

4.5. Báo cáo kết quả

Sau khi tiến trình kiểm thử kết thúc truy cập đến thư mục “android-

cts\repository\results”. Ở đó liệt kê tất cả các kết quả của các ca kiểm thử, tìm đến ca

kiểm thử mới nhất vừa thực thi theo ngày, tháng, năm và giờ kiểm thử dùng để đặt tên của thư mục kết quả.

Ở thư mục này sẽ nhìn thấy tệp tin “testResult.xml” đó chính là kết quả kiểm thử được xuất ra theo định dạng .xml. Chọn “testResult.xml” để mở sẽ có kết quả như hình sau:

Hình 3.8 : Minh họa cho kết quả chạy bằng phương pháp CTS

Kết quả xuất ra định dạng tệp tin .xml, ở kết quả này có thể nhìn thấy các thông tin như tên thiết bị kiểm thử là Nexus 4, các đặc tính của thiết bị, phiên bản hệ điều hành và số lượng các ca kiểm thử Pass, Fail...

Kiểm tra số lượng ca kiểm thử “Pass”, “Fail”, “Timed out”, “Not executed”.

CHƯƠNG 4: ỨNG DỤNG CHẠY CTS TRONG KIỂM THỬ ANDROID JUNIT TEST PROJECT

Với mỗi dự án kiểm thử (Android Junit) tạo ra hàng trăm, hàng nghìn ca kiểm thử cho nên việc áp dụng các phương pháp kiểm thử bình thường sẽ tốn kém rất nhiều thời gian và nhân lực. Việc áp dụng CTS trong phương pháp kiểm thử các dự án Android trên các thiết bị di động sẽ tiết kiệm được thời gian thực thi và thực thi được những ca kiểm thử tự động. Chương này giới thiệu chi tiết việc ứng dụng CTS trong kiểm thử dự án Android Junit Test.

Một phần của tài liệu phương pháp và công cụ để hỗ trợ kiểm thử phần mềm android (Trang 26 - 30)