Bối cảnh và vấn đề nghiên cứu
Sự phát triển của công nghệ thông tin và công nghệ phần mềm đã mang lại nhiều công cụ hỗ trợ quá trình lập trình, song do tính chất phức tạp của phần mềm cùng các giới hạn về thời gian và chi phí, lỗi phần mềm vẫn luôn tiềm ẩn và có nguy cơ gây ra những thiệt hại kinh tế đáng kể. Trong chu trình phát triển sản phẩm, hoạt động đảm bảo chất lượng và kiểm thử phần mềm là một quá trình liên tục, xuyên suốt nhằm xác nhận phần mềm đáp ứng đúng các đặc tả thiết kế và yêu cầu của người sử dụng. Tuy nhiên, kiểm thử phần mềm là công việc tốn kém nhân lực, thời gian và khó có thể bao quát toàn bộ lỗi nếu thiếu kế hoạch và chiến lược quản lý chặt chẽ.
Bên cạnh đó, sự bùng nổ của các thiết bị điện thoại thông minh chạy các hệ điều hành nhúng như Android hay iOS đã thay đổi thói quen người dùng từ các ứng dụng mặc định sang việc cài đặt hàng loạt ứng dụng từ bên thứ ba. Thực tế này đòi hỏi các ứng dụng di động phải được kiểm thử kỹ lưỡng về tính tương thích, độ ổn định và tính năng trước khi phát hành đến người dùng cuối. Xuất phát từ bối cảnh đó, tác giả Bùi Trần Lĩnh đã thực hiện đồ án tốt nghiệp với đề tài "Kiểm thử phần mềm trên thiết bị di động và ứng dụng phần mềm Appium Studio cho ứng dụng trên IOS" tại Khoa Công nghệ thông tin, Trường Đại học Dân lập Hải Phòng (hoàn thành tháng 03/2018 dưới sự hướng dẫn của ThS. Nguyễn Trịnh Đông).
Mục tiêu và nhiệm vụ nghiên cứu của đồ án được xác định cụ thể như sau:
- Tìm hiểu cơ sở lý thuyết tổng quan về kiểm thử phần mềm và các kỹ thuật kiểm thử thông dụng.
- Nghiên cứu các đặc điểm, thách thức và phương pháp kiểm thử phần mềm trên nền tảng thiết bị di động, so sánh kiểm thử tự động với kiểm thử thủ công.
- Triển khai thực nghiệm công cụ Appium Studio tích hợp trong môi trường phát triển Eclipse kết hợp dịch vụ SeeTest Cloud để xây dựng bộ ca kiểm thử tự động cho một ứng dụng trên hệ điều hành iOS.
Đối tượng nghiên cứu của đồ án là quy trình, kỹ thuật kiểm thử phần mềm và công cụ kiểm thử tự động Appium Studio. Phạm vi nghiên cứu tập trung vào việc áp dụng kiểm thử tự động cho ứng dụng gốc chạy trên hệ điều hành iOS thông qua thiết bị đám mây, với ca thực nghiệm cụ thể là ứng dụng máy tính (Basic Calculator).
Cơ sở lý thuyết và phương pháp
Đồ án xây dựng nội dung dựa trên khung lý thuyết chuẩn của kỹ thuật phần mềm và các tài liệu chuyên ngành về kiểm thử:
- Khái niệm cốt lõi: Phần mềm được cấu thành từ ba thành phần: tập các lệnh (chương trình máy tính), cấu trúc dữ liệu và tài liệu mô tả thao tác vận hành. Hoạt động kiểm thử phần mềm được định nghĩa là cuộc kiểm tra cung cấp thông tin độc lập về chất lượng sản phẩm nhằm xác minh (Verification) và thẩm định (Validation - V&V) khả năng đáp ứng yêu cầu thiết kế. Các thuật ngữ liên quan được làm rõ bao gồm: Chất lượng phần mềm (Software Quality), Đảm bảo chất lượng phần mềm (SQA), Sự cố (Incident), Ca kiểm thử (Test Case), và Kịch bản kiểm thử (Test Script).
- Chuẩn quy trình: Đồ án viện dẫn các tiêu chuẩn IEEE quy định về tài liệu kế hoạch kiểm thử phần mềm (phạm vi, phương pháp, tài nguyên, lịch trình, trách nhiệm V&V và hệ thống báo cáo).
- Phân cấp kiểm thử: Trình bày 5 cấp độ kiểm thử thông dụng gồm Kiểm thử mức đơn vị (Unit Test), Kiểm thử tích hợp (Integration Test), Kiểm thử mức hệ thống (System Test), Kiểm thử chấp nhận sản phẩm (Acceptance Test) và Kiểm thử hồi quy (Regression Test).
- Kỹ thuật thiết kế ca kiểm thử:
- Kiểm thử hộp trắng (White-Box Testing): Khai thác cấu trúc bên trong qua kỹ thuật kiểm thử luồng dữ liệu (chiến lược chuỗi DU - Define-Use) và kỹ thuật kiểm thử luồng điều khiển với 5 cấp độ bao phủ (Phủ cấp 0; Phủ cấp 1 - câu lệnh; Phủ cấp 2 - phủ nhánh; Phủ cấp 3 - phủ điều kiện con; Phủ cấp 4 - phủ nhánh và điều kiện con).
- Kiểm thử hộp đen (Black-Box Testing): Khảo sát hành vi chức năng thông qua phương pháp phân vùng tương đương (Equivalence Partitioning), phân tích giá trị biên (Boundary Value Analysis) và phương pháp đoán lỗi (Error Guessing).
- Quản lý lỗi phần mềm: Quy định cấu trúc chuẩn của một Bug report gồm 13 trường dữ liệu (Project, Reported by, Bug Name, Bug ID, Date, Assigned to, Status, Summary/Description, Environments, Step to reproduce, Actual results, Expected results, Severity, Priority, Attachment). Trong đó, mức độ nghiêm trọng (Severity) chia thành 4 cấp: Critical (S1), Major (S2), Minor (S3), Trivial (S4); mức độ ưu tiên xử lý (Priority) chia thành 4 cấp: Urgent (P0), High (P1), Medium (P2), Low (P3).
Phương pháp nghiên cứu thực tế được tác giả áp dụng là sự kết hợp giữa:
- Phương pháp phân tích - tổng hợp tài liệu lý thuyết nhằm hệ thống hóa kiến thức nền tảng về kiểm thử và kiểm thử di động.
- Phương pháp thực nghiệm kỹ thuật: cài đặt, cấu hình bộ công cụ Appium Studio dạng plugin trong IDE Eclipse, kết nối hạ tầng SeeTest Cloud qua khóa truy cập (Access Key), sử dụng framework TestNG để lập trình kịch bản kiểm thử tự động, sinh dữ liệu kiểm thử ngẫu nhiên và trích xuất báo cáo kết quả thực thi.
Nguồn dữ liệu của nghiên cứu bao gồm các tài liệu, giáo trình tiêu chuẩn về công nghệ phần mềm [1-9], tài liệu kỹ thuật của công cụ Appium Studio, SeeTest Cloud và tệp dữ liệu ứng dụng máy tính Basic Calculator trên iOS.
Thiết kế và triển khai
Phần thực nghiệm kỹ thuật của đồ án được triển khai nhằm tự động hóa quy trình kiểm thử giao diện và chức năng cho ứng dụng máy tính trên hệ điều hành iOS.
Kiến trúc và các thành phần công nghệ được sử dụng trong hệ thống thực nghiệm gồm:
- Môi trường phát triển tích hợp (IDE): Eclipse.
- Công cụ kiểm thử tự động: Appium Studio (tích hợp trực tiếp dưới dạng plugin vào Eclipse thông qua đường dẫn cài đặt URL).
- Hạ tầng thiết bị thử nghiệm: Nền tảng SeeTest Cloud, cho phép kết nối đến các thiết bị iOS vật lý đặt trên máy chủ đám mây thông qua Access Key xác thực.
- Framework kiểm thử: TestNG, hỗ trợ quản lý cấu trúc kịch bản kiểm thử, tổ chức các tiền điều kiện (
setUp), thực thi ca kiểm thử và xuất báo cáo.
- Đối tượng kiểm thử: Ứng dụng gốc Basic Calculator được đóng gói và cài đặt trực tiếp lên thiết bị iOS trên Cloud.
Quy trình triển khai thực nghiệm được tiến hành qua các bước kỹ thuật:
- Cài đặt môi trường: Nhúng Appium Studio vào Eclipse thông qua trình quản lý cài đặt phần mềm của IDE.
- Kết nối thiết bị đám mây: Đăng nhập hệ thống SeeTest Cloud, trích xuất Access Key cá nhân, cấu hình kết nối trên Eclipse để tải danh sách và phản chiếu màn hình tương tác của thiết bị iOS.
- Khởi tạo dự án kiểm thử: Tạo Project trong Eclipse, sinh mã nguồn cấu hình thiết bị tự động (
IOSTest) và tích hợp thư viện TestNG.
- Cài đặt ứng dụng: Bổ sung đoạn mã cài đặt ứng dụng Basic Calculator vào phương thức
setUp(), đồng thời thêm câu lệnh cấu hình để ứng dụng không tự động thoát trong quá trình chạy kiểm thử.
- Trích xuất đối tượng giao diện (Dump UI): Sử dụng công cụ Dump UI trong cửa sổ quản lý thiết bị của Appium Studio để chụp và lưu cấu trúc giao diện chính với tên
mainscreen. Ghi nhận các định danh đối tượng (Object ID, XPath) của các nút chức năng: nút số, các nút toán tử, nút xóa màn hình (AC) và nút đổi dấu (+/-).
- Lập trình sinh dữ liệu kiểm thử tự động: Xây dựng các hàm phát sinh dữ liệu đầu vào ngẫu nhiên bằng mã lệnh, gồm hàm sinh số nguyên ngẫu nhiên trong khoảng [-999; 999] và hàm sinh số thập phân ngẫu nhiên trong khoảng [-999; 999] để đưa vào các kịch bản tính toán.
- Thực thi và kết xuất kết quả: Khởi chạy kịch bản kiểm thử tự động qua TestNG Runner, theo dõi luồng thực thi trên giao diện thiết bị và trích xuất tệp báo cáo tổng hợp từ thư mục Reports.
Nội dung chính theo từng chương
Chương 1: Các kiến thức cơ bản
Chương này tập trung trình bày các khái niệm nền tảng trong kiểm thử phần mềm. Tác giả làm rõ bản chất của kiểm thử là hoạt động kiểm tra nhằm phát hiện lỗi, cung cấp thông tin khách quan về chất lượng sản phẩm và đánh giá rủi ro trước khi bàn giao. Quy trình kiểm thử được gắn liền với chu trình xử lý phần mềm qua các bước: Lập kế hoạch kiểm thử theo tiêu chuẩn IEEE, Bố trí nhân viên kiểm thử độc lập, Thiết kế ca kiểm thử, Xử lý đo lường dữ liệu và Đánh giá khả năng phát hành sản phẩm.
Các cấp độ kiểm thử được phân tích chi tiết:
- Kiểm thử đơn vị (Unit Test): tập trung vào thành phần nhỏ nhất (hàm, lớp, phương thức), do lập trình viên thực hiện nhằm rà soát các nhánh lệnh bên trong thông qua Unit Test Framework.
- Kiểm thử tích hợp (Integration Test): kiểm tra sự giao tiếp và tích hợp giữa các đơn vị riêng lẻ thành các hệ thống con.
- Kiểm thử hệ thống (System Test): đánh giá tổng thể hành vi chức năng và các yếu tố phi chức năng (độ tin cậy, hiệu năng, bảo mật, tương thích phần cứng/phần mềm bên ngoài).
- Kiểm thử chấp nhận (Acceptance Test): do khách hàng hoặc bên thứ ba thực hiện để nghiệm thu sản phẩm.
- Kiểm thử hồi quy (Regression Test): kiểm tra lại các chức năng cũ sau khi sửa đổi mã nguồn nhằm đảm bảo không phát sinh lỗi mới.
Đối với kỹ thuật kiểm thử, chương 1 đi sâu vào hai phương pháp hộp trắng và hộp đen. Trong kiểm thử hộp đen, tác giả minh họa chi tiết kỹ thuật phân vùng tương đương và phân tích giá trị biên qua ví dụ thiết kế ca kiểm thử cho một biểu mẫu đăng nhập (ô văn bản username yêu cầu ký tự chữ có độ dài từ 6 đến 20 ký tự). Dữ liệu được chia thành 4 phân vùng và xác định các điểm biên (5, 6, 20, 21 ký tự). Phương pháp đoán lỗi dựa trên kinh nghiệm của kiểm thử viên cũng được giới thiệu. Cuối chương, tác giả chuẩn hóa cấu trúc của một ca kiểm thử (10 thuộc tính), quy trình tạo Bug report (13 trường dữ liệu) cùng cách xác định mức độ nghiêm trọng (Severity S1 - S4) và độ ưu tiên (Priority P0 - P3).
Chương 2: Kiểm thử trên thiết bị di động
Chương 2 phân tích môi trường ứng dụng di động và các đặc thù của kiểm thử ứng dụng di động so với máy tính truyền thống. Tác giả phân loại ứng dụng di động thành ba dạng chính:
- Ứng dụng gốc (Native applications): viết riêng cho từng hệ điều hành bằng SDK chuyên biệt, tốc độ xử lý nhanh, truy cập toàn diện phần cứng nhưng chi phí phát triển và kiểm thử trên nhiều nền tảng cao.
- Ứng dụng Web (Web applications): xây dựng bằng công nghệ web (HTML, CSS, JS), chạy trên trình duyệt di động, có tính đa nền tảng nhưng phụ thuộc vào kết nối mạng.
- Ứng dụng lai (Hybrid applications): kết hợp công nghệ web đóng gói trong vỏ bọc ứng dụng gốc.
Chương này phân tích ba hệ điều hành phổ biến: Android (mã nguồn mở dựa trên Linux của Google, mức độ phân mảnh phần cứng cao nhất), iOS (mã nguồn đóng của Apple, kiểm soát phần cứng thống nhất, sử dụng Xcode trên OS X), và Windows / Windows Phone của Microsoft.
Tác giả so sánh chi tiết ba phương pháp kiểm thử môi trường trên thiết bị di động:
| Phương pháp |
Ưu điểm |
Nhược điểm |
| Kiểm thử trên thiết bị thực (Real Devices) |
Cho kết quả thực tế và đáng tin cậy nhất; kiểm tra được toàn bộ tương tác cảm ứng và cảm biến (gia tốc, la bàn, camera). |
Chi phí mua sắm thiết bị rất tốn kém; khó mở rộng trên toàn bộ các dòng máy và nhà mạng khác nhau. |
| Kiểm thử trên máy mô phỏng/giả lập (Simulators/Emulators) |
Chi phí thấp, đi kèm SDK miễn phí; dễ dàng triển khai, tùy biến cấu hình độ phân giải và vị trí địa lý nhanh chóng. |
Kết quả có thể bị sai lệch do sử dụng tài nguyên máy chủ; không kiểm tra chính xác được cảm biến, kết nối mạng và cuộc gọi/SMS gián đoạn. |
| Kiểm thử trên thiết bị đám mây (Cloud Mobile Testing) |
Cung cấp danh mục thiết bị thực đa dạng; hỗ trợ tự động hóa kiểm thử nhiều thiết bị cùng lúc; không mất công nâng cấp phần cứng. |
Chi phí dịch vụ cao; tiềm ẩn rủi ro bảo mật mã nguồn trên đám mây; độ trễ mạng ảnh hưởng tốc độ kiểm thử; hạn chế kiểm tra cảm biến vật lý. |
Các đặc điểm và thách thức kỹ thuật riêng của kiểm thử di động được chỉ rõ gồm: sự phân mảnh kích thước màn hình, giới hạn dung lượng bộ nhớ và năng lượng pin, sự thay đổi đường truyền mạng (GSM, GPRS, 3G, Wifi) và yêu cầu kiểm tra các tình huống gián đoạn (cuộc gọi thoại, tin nhắn SMS, cắm sạc, cảnh báo pin yếu).
Về kiểm thử tự động, tác giả làm rõ khái niệm, mục tiêu (giảm công sức, tăng độ tin cậy, giảm chi phí lặp lại), các nguyên tắc cốt lõi (kiểm thử chỉ ra lỗi chứ không chứng minh phần mềm không có lỗi; không thể kiểm thử vét cạn mọi trường hợp) và các tình huống nên áp dụng (thiếu tài nguyên khi phải chạy trên nhiều cấu hình, kiểm thử hồi quy nhiều phiên bản liên tiếp, kiểm tra vận hành trong môi trường đặc biệt).
Chương 3: Thực nghiệm sử dụng Appium Studio cho kiểm thử tự động trên iOS
Chương 3 trình bày toàn bộ quá trình áp dụng phần mềm Appium Studio để kiểm thử tự động một ứng dụng iOS cụ thể. Tác giả giới thiệu công cụ mã nguồn mở Appium và phiên bản mở rộng Appium Studio – phần mềm cung cấp giao diện đồ họa, công cụ Dump UI và khả năng tích hợp trực tiếp vào môi trường Eclipse giúp lập trình viên không phải cấu hình dòng lệnh phức tạp.
Nội dung thực nghiệm được triển khai tuần tự theo danh mục hình vẽ và tài liệu của đồ án:
- Cài đặt plugin Appium Studio vào IDE Eclipse qua đường dẫn URL.
- Thiết lập kết nối giữa Eclipse và hệ thống máy chủ SeeTest Cloud bằng Access Key, hiển thị danh sách thiết bị và điều khiển màn hình iOS trên giao diện máy tính.
- Tạo dự án kiểm thử, cấu hình thư viện kiểm thử TestNG và khởi tạo tệp mã
IOSTest.
- Cài đặt ứng dụng Basic Calculator lên thiết bị iOS, chèn mã nguồn cài đặt vào phần tiền điều kiện (
setUp) và cấu hình lệnh ngăn ứng dụng tự đóng khi kết thúc kịch bản.
- Tiến hành trích xuất đối tượng bằng công cụ Dump UI, lưu màn hình làm việc
mainscreen và ghi nhận thuộc tính các nút bấm, đặc biệt là nút xóa AC và nút đổi dấu (+/-).
- Viết các đoạn mã tự động phát sinh dữ liệu kiểm thử: hàm sinh số nguyên ngẫu nhiên từ -999 đến 999 và hàm sinh số thập phân ngẫu nhiên từ -999 đến 999.
- Thực thi kịch bản kiểm thử tự động, theo dõi tiến trình chạy trên nền tảng đám mây và thu thập báo cáo kiểm thử tự động kết xuất trong thư mục Reports.
- Đánh giá kết quả: hệ thống báo cáo ghi nhận chi tiết quá trình kiểm thử, trong đó phát hiện ca kiểm thử đầu tiên tính toán không chính xác và ghi nhận lỗi thực thi của nút đổi dấu
(+/-). Tác giả tiến hành lập Bug report chuẩn cho khiếm khuyết này.
Kết quả và đóng góp
Đồ án ghi nhận các kết quả cụ thể từ quá trình nghiên cứu và thực nghiệm:
- Kết quả thực nghiệm:
- Thiết lập thành công chuỗi công cụ kiểm thử tự động cho ứng dụng iOS trên máy tính thông qua sự kết hợp giữa IDE Eclipse, plugin Appium Studio và dịch vụ SeeTest Cloud.
- Xây dựng hoàn chỉnh kịch bản kiểm thử tự động với framework TestNG cho ứng dụng Basic Calculator, định danh thành công các đối tượng giao diện trên màn hình
mainscreen.
- Triển khai thuật toán sinh dữ liệu kiểm thử ngẫu nhiên với miền giá trị số nguyên và số thập phân nằm trong khoảng [-999; 999].
- Phát hiện lỗi sai kết quả trong ca kiểm thử đầu tiên và lỗi chức năng tại nút đổi dấu
(+/-) của ứng dụng Basic Calculator; lập báo cáo Bug report hoàn chỉnh ghi nhận các lỗi này.
- Giải pháp đề xuất: Đưa ra quy trình áp dụng công cụ Appium Studio kết hợp hạ tầng đám mây SeeTest Cloud như một giải pháp thay thế hiệu quả cho việc kiểm thử trên thiết bị thực tại chỗ, giúp các nhóm phát triển giảm bớt chi phí đầu tư phần cứng đắt đỏ của hệ sinh thái Apple mà vẫn thực hiện được kiểm thử tự động trên thiết bị thật.
- Đóng góp của tác giả: Hệ thống hóa cơ sở lý luận về kiểm thử phần mềm và các đặc thù của kiểm thử ứng dụng di động; cung cấp tài liệu hướng dẫn kỹ thuật chi tiết từ khâu cài đặt, tích hợp công cụ, kết nối Cloud, bắt đối tượng giao diện đến lập trình sinh dữ liệu và xuất báo cáo lỗi trên hệ điều hành iOS.
Hạn chế và hướng nghiên cứu tiếp
Từ phạm vi nghiên cứu thực tế của văn bản, đồ án tồn tại một số hạn chế:
- Ứng dụng thực nghiệm mới dừng lại ở một tiện ích cơ bản (Basic Calculator), chưa kiểm thử trên các ứng dụng phức tạp có xử lý cơ sở dữ liệu lớn, tương tác đa phương tiện hay giao tiếp mạng liên tục.
- Quá trình thực nghiệm phụ thuộc hoàn toàn vào dịch vụ đám mây bên thứ ba (SeeTest Cloud) và đường truyền Internet; chưa đánh giá sâu các yếu tố phần cứng vật lý đặc thù như cảm biến gia tốc, la bàn số, định vị GPS, camera, mức tiêu hao dung lượng pin và xung đột cuộc gọi/tin nhắn mạng viễn thông.
- Thời gian nghiên cứu và nguồn lực thực hiện đề tài còn có những giới hạn nhất định theo tự nhận định của tác giả.
Hướng nghiên cứu tiếp được mở ra:
- Mở rộng phạm vi kiểm thử tự động cho các ứng dụng lai (Hybrid App) và ứng dụng web di động phức tạp.
- Triển khai kịch bản kiểm thử tự động đồng thời trên cả hai nền tảng Android và iOS trong cùng một dự án.
- Tích hợp quy trình kiểm thử tự động vào hệ thống tích hợp liên tục (CI/CD) và nghiên cứu sâu hơn về kiểm thử hiệu năng, độ chịu tải và kiểm thử bảo mật trên thiết bị di động.
Giá trị tham khảo
Đồ án là tài liệu tham khảo hữu ích cho các đối tượng:
- Sinh viên chuyên ngành Công nghệ thông tin, Kỹ thuật phần mềm đang học tập các học phần về Đảm bảo chất lượng và Kiểm thử phần mềm hoặc chuẩn bị làm đồ án tốt nghiệp về chủ đề tự động hóa kiểm thử.
- Các kỹ sư kiểm thử (QA/QC Tester) đang chuyển dịch từ kiểm thử thủ công sang kiểm thử tự động trên nền tảng di động, đặc biệt là môi trường iOS.
Các nội dung có giá trị tham khảo cao trong văn bản gồm:
- Toàn bộ lý thuyết phân loại kiểm thử, kỹ thuật thiết kế ca kiểm thử hộp đen (phân vùng tương đương, giá trị biên), cấu trúc mẫu Bug report và bảng phân cấp Severity/Priority tại Chương 1.
- Bảng so sánh kiểm thử tự động với kiểm thử thủ công, cùng các phân tích về ưu nhược điểm của 3 môi trường kiểm thử di động (thiết bị thực, giả lập, đám mây) tại Chương 2.
- Quy trình từng bước cấu hình Eclipse, kết nối SeeTest Cloud qua Access Key, sử dụng tính năng Dump UI để bắt đối tượng và lập trình kịch bản TestNG sinh dữ liệu tự động tại Chương 3.
Câu hỏi thường gặp
1. Đồ án sử dụng công cụ và môi trường nào để thực hiện kiểm thử tự động trên hệ điều hành iOS?
Tác giả sử dụng môi trường phát triển tích hợp Eclipse, cài đặt phần mềm Appium Studio dưới dạng plugin thông qua URL cài đặt, kết nối với thiết bị iOS trên nền tảng đám mây SeeTest Cloud bằng Access Key và quản lý kịch bản kiểm thử bằng framework TestNG.
2. Điểm khác biệt chính giữa kiểm thử trên thiết bị di động đám mây so với máy giả lập/mô phỏng theo phân tích trong đồ án là gì?
Máy giả lập/mô phỏng chạy trên máy chủ, chi phí thấp nhưng kết quả có thể sai lệch do sử dụng tài nguyên phần cứng máy tính và không kiểm tra được tương tác mạng hay gián đoạn. Thiết bị đám mây cho phép chạy kịch bản trên hàng trăm thiết bị vật lý thật đặt từ xa, hỗ trợ kiểm thử đa dạng cấu hình hệ điều hành mà không cần mua thiết bị, tuy nhiên chi phí dịch vụ cao hơn và phụ thuộc vào tốc độ mạng.
3. Ứng dụng thực nghiệm được lựa chọn trong Chương 3 là gì và dữ liệu kiểm thử được phát sinh như thế nào?
Ứng dụng thực nghiệm là Basic Calculator trên nền tảng iOS. Dữ liệu kiểm thử không nhập thủ công mà được sinh hoàn toàn tự động bằng hai đoạn mã: một đoạn mã phát sinh số nguyên ngẫu nhiên trong dải [-999; 999] và một đoạn mã phát sinh số thập phân ngẫu nhiên trong dải [-999; 999].
4. Quá trình kiểm thử tự động trong đồ án đã phát hiện ra những khiếm khuyết cụ thể nào?
Thông qua báo cáo kiểm thử tự động trong mục Reports, hệ thống đã phát hiện ca kiểm thử đầu tiên không đưa ra kết quả chính xác và ghi nhận lỗi thực thi chức năng tại nút đổi dấu (+/-) của ứng dụng Basic Calculator. Lỗi này đã được tác giả lập Bug report chi tiết.
5. Thang đo mức độ nghiêm trọng (Severity) của lỗi được phân loại theo các cấp độ nào trong đồ án?
Mức độ nghiêm trọng được phân thành 4 cấp: Critical (S1 - lỗi nghiêm trọng ảnh hưởng chức năng chính hoặc dữ liệu, không có giải pháp thay thế), Major (S2 - lỗi chức năng chính nhưng có giải pháp thay thế phức tạp), Minor (S3 - lỗi chức năng nhỏ hoặc dữ liệu không quan trọng, dễ khắc phục), và Trivial (S4 - lỗi giao diện hoặc chính tả, không ảnh hưởng hiệu năng).
Kết luận
Đồ án tốt nghiệp của sinh viên Bùi Trần Lĩnh đã hệ thống hóa các kiến thức nền tảng về quy trình kiểm thử phần mềm, đồng thời làm rõ các thách thức kỹ thuật đặc thù trên môi trường thiết bị di động. Thông qua việc tích hợp Appium Studio trong môi trường Eclipse và kết nối nền tảng SeeTest Cloud, tác giả đã xây dựng thành công kịch bản kiểm thử tự động, sinh dữ liệu ngẫu nhiên và phát hiện lỗi chức năng trên ứng dụng máy tính iOS. Đề tài cung cấp tài liệu tham khảo có giá trị thực tiễn cho sinh viên và kỹ sư kiểm thử phần mềm trong việc tiếp cận các giải pháp tự động hóa kiểm định chất lượng ứng dụng di động.