[Luận văn ThS] Phân tích đột biến trong kiểm thử ứng dụng Android - VNU UET

Luận văn thạc sĩ nghiên cứu vnu uet phân tích đột biến trong kiểm thử phần mềm và áp dụng trong kiểm thử ứng dụng android, đánh giá hiện trạng, phân tích vấn đề, đề xuất biện pháp

Chuyên ngành

Hệ thống thông tin

Người đăng

Ẩn danh

Thể loại

Luận văn thạc sĩ

2019

55
3
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CẢM ƠN

LỜI CAM ĐOAN

1. CHƯƠNG 1: ỨNG DỤNG ANDROID VÀ BÀI TOÁN KIỂM THỬ ỨNG DỤNG TRÊN THIẾT BỊ DI ĐỘNG

1.1. Giới thiệu chung về kiểm thử phần mềm. Vòng đời phát triển của phần mềm

1.2. Vòng đời của kiểm thử phần mềm

1.3. Ứng dụng Android trên thiết bị di động và kiểm thử ứng dụng Android

1.3.1. Ứng dụng Android trên thiết bị di động

1.3.2. Kiểm thử ứng dụng Android

1.3.3. Những thách thức trong kiểm thử Android

1.4. Tóm tắt chương 1

2. CHƯƠNG 2: KỸ THUẬT TOÁN TỬ ĐỘT BIẾN TRONG KIỂM THỬ ỨNG DỤNG ANDROID TRÊN THIẾT BỊ DI ĐỘNG

2.1. Phương pháp toán tử đột biến trong kiểm thử phần mềm

2.1.1. Toán tử đột biến trong kiểm thử phần mềm

2.1.2. Toán tử đột biến ý định

2.1.3. Thay thế trọng tải ý định

2.1.4. Mục tiêu thay thế

2.1.5. Vòng đời hoạt động của toán tử đột biến. Phương pháp xóa vòng đời

2.1.6. Xử lý toán tử đột biến. Thay thế sự kiện bằng onClick

2.1.7. Thay thế sự kiện bằng onTouch

2.1.8. Toán tử đột biến XML. Xóa nút trên giao diện

2.1.9. Sửa đổi thành phần

2.1.10. Chuyển đổi nút trên giao diện

2.1.11. Ý tưởng áp dụng trong luận văn

2.2. Tóm tắt chương 2

3. CHƯƠNG 3: MÔ HÌNH ĐỀ NGHỊ, THỰC NGHIỆM VÀ ĐÁNH GIÁ

3.1. Phát biểu bài toán. Mô hình đề nghị và các bước thực hiện. Mô hình thực hiện kiểm thử

3.2. Các bước thực hiện kiểm thử

3.3. Môi trường thực nghiệm. Cấu hình phần cứng

3.4. Công cụ phần mềm

3.5. Dữ liệu thực nghiệm. Thử nghiệm trên dữ liệu thực tế. Kết quả và Đánh giá. Kết quả sau khi chạy thực nghiệm

3.6. Đánh giá kết quả các thực nghiệm

3.7. Tóm tắt chương 3

KẾT LUẬN VÀ ĐỊNH HƯỚNG NGHIÊN CỨU TIẾP THEO

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Tổng quan về kiểm thử phần mềm và ứng dụng Android

Kiểm thử phần mềm là một quá trình quan trọng trong phát triển phần mềm, đặc biệt là trong bối cảnh ứng dụng Android ngày càng phổ biến. Việc kiểm thử không chỉ giúp phát hiện lỗi mà còn đảm bảo chất lượng sản phẩm trước khi đến tay người dùng. Trong bối cảnh hiện tại, với sự phát triển mạnh mẽ của các thiết bị di động, việc kiểm thử ứng dụng Android trở nên cần thiết hơn bao giờ hết.

1.1. Khái niệm kiểm thử phần mềm và vai trò của nó

Kiểm thử phần mềm là quá trình đánh giá một sản phẩm phần mềm nhằm phát hiện lỗi và đảm bảo rằng sản phẩm đáp ứng các yêu cầu chất lượng. Vai trò của kiểm thử phần mềm không chỉ dừng lại ở việc phát hiện lỗi mà còn giúp cải thiện quy trình phát triển phần mềm.

1.2. Ứng dụng Android và sự phát triển của nó

Ứng dụng Android đã trở thành một phần không thể thiếu trong cuộc sống hàng ngày. Với hàng triệu ứng dụng có sẵn trên Google Play, việc đảm bảo chất lượng của các ứng dụng này là rất quan trọng. Các nhà phát triển cần áp dụng các phương pháp kiểm thử hiệu quả để đảm bảo rằng ứng dụng hoạt động ổn định và đáp ứng nhu cầu của người dùng.

II. Những thách thức trong kiểm thử ứng dụng Android

Kiểm thử ứng dụng Android đối mặt với nhiều thách thức do tính đa dạng của thiết bị và hệ điều hành. Các nhà phát triển cần phải đối mặt với việc kiểm thử trên nhiều phiên bản Android khác nhau, cũng như các loại thiết bị với cấu hình khác nhau. Điều này tạo ra một môi trường kiểm thử phức tạp và đòi hỏi các phương pháp kiểm thử linh hoạt.

2.1. Đặc điểm của ứng dụng Android và ảnh hưởng đến kiểm thử

Ứng dụng Android có cấu trúc và tính năng độc đáo, điều này ảnh hưởng đến cách thức kiểm thử. Các nhà phát triển cần hiểu rõ về các thành phần của ứng dụng Android để thiết kế các trường hợp kiểm thử phù hợp.

2.2. Các vấn đề thường gặp trong kiểm thử ứng dụng Android

Một số vấn đề thường gặp trong kiểm thử ứng dụng Android bao gồm sự khác biệt giữa các phiên bản Android, sự đa dạng của thiết bị và các vấn đề về hiệu suất. Những vấn đề này có thể dẫn đến việc phát hiện lỗi muộn và ảnh hưởng đến trải nghiệm người dùng.

III. Phương pháp kiểm thử đột biến trong kiểm thử phần mềm

Kiểm thử đột biến là một phương pháp hiệu quả trong việc đánh giá chất lượng phần mềm. Phương pháp này liên quan đến việc thay đổi mã nguồn của ứng dụng một cách có chủ ý để kiểm tra khả năng phát hiện lỗi của các trường hợp kiểm thử. Điều này giúp xác định xem các trường hợp kiểm thử có đủ mạnh để phát hiện lỗi hay không.

3.1. Khái niệm và nguyên lý của kiểm thử đột biến

Kiểm thử đột biến là phương pháp tạo ra các phiên bản sửa đổi của phần mềm để kiểm tra khả năng phát hiện lỗi của các trường hợp kiểm thử. Nguyên lý của phương pháp này là tạo ra các đột biến và kiểm tra xem liệu các trường hợp kiểm thử có phát hiện được các đột biến này hay không.

3.2. Lợi ích của kiểm thử đột biến trong kiểm thử ứng dụng Android

Kiểm thử đột biến giúp cải thiện chất lượng phần mềm bằng cách đảm bảo rằng các trường hợp kiểm thử đủ mạnh để phát hiện lỗi. Phương pháp này cũng giúp các nhà phát triển nhận diện các điểm yếu trong quy trình kiểm thử của họ.

IV. Ứng dụng thực tiễn của kiểm thử đột biến trong kiểm thử Android

Việc áp dụng kiểm thử đột biến trong kiểm thử ứng dụng Android đã cho thấy nhiều kết quả tích cực. Các nhà phát triển đã sử dụng phương pháp này để cải thiện chất lượng ứng dụng và giảm thiểu lỗi trước khi phát hành sản phẩm ra thị trường.

4.1. Các nghiên cứu điển hình về kiểm thử đột biến

Nhiều nghiên cứu đã chỉ ra rằng việc áp dụng kiểm thử đột biến giúp phát hiện lỗi hiệu quả hơn so với các phương pháp kiểm thử truyền thống. Các nghiên cứu này cung cấp bằng chứng cho thấy kiểm thử đột biến là một công cụ hữu ích trong quy trình phát triển phần mềm.

4.2. Kết quả đạt được từ việc áp dụng kiểm thử đột biến

Kết quả từ việc áp dụng kiểm thử đột biến cho thấy tỷ lệ phát hiện lỗi cao hơn, giúp cải thiện chất lượng sản phẩm. Điều này không chỉ mang lại lợi ích cho nhà phát triển mà còn cho người dùng cuối khi sử dụng ứng dụng.

V. Kết luận và định hướng nghiên cứu tiếp theo

Kiểm thử đột biến đã chứng minh được giá trị của nó trong việc nâng cao chất lượng phần mềm, đặc biệt là trong kiểm thử ứng dụng Android. Tuy nhiên, vẫn còn nhiều thách thức cần được giải quyết trong tương lai. Các nghiên cứu tiếp theo có thể tập trung vào việc phát triển các công cụ tự động hóa kiểm thử đột biến để nâng cao hiệu quả và giảm thiểu thời gian kiểm thử.

5.1. Tóm tắt những điểm chính trong nghiên cứu

Nghiên cứu đã chỉ ra rằng kiểm thử đột biến là một phương pháp hiệu quả trong việc nâng cao chất lượng phần mềm. Các nhà phát triển cần áp dụng phương pháp này để đảm bảo rằng ứng dụng Android của họ hoạt động ổn định và đáp ứng nhu cầu của người dùng.

5.2. Định hướng nghiên cứu trong tương lai

Trong tương lai, cần có thêm nhiều nghiên cứu về việc phát triển các công cụ kiểm thử tự động hóa dựa trên kiểm thử đột biến. Điều này sẽ giúp giảm thiểu thời gian và công sức trong quy trình kiểm thử, đồng thời nâng cao chất lượng sản phẩm.

22/07/2025
Luận văn thạc sĩ vnu uet phân tích đột biến trong kiểm thử phần mềm và áp dụng trong kiểm thử ứng dụng android

Trích đoạn nội dung tài liệu

Chương 1: Luận văn trình bày về ứng dụng Android và bài toán kiểm thử ứng dụng trên thiết bị di động. Chương 2: Luận văn trình bày về phương pháp và các kỹ thuật toán tử đột biến trong kiểm thử ứng dụng Android trên thiết bị di động. Chương 3: Luận văn trình bày về mô hình, thực nghiệm áp dụng kiểm thử. 1 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Chƣơng 1.

ỨNG DỤNG ANDROID VÀ BÀI TOÁN KIỂM THỬ ỨNG DỤNG TRÊN THIẾT BỊ DI ĐỘNG Trong chương này, chúng tôi giới thiệu chung về những kiến thức kiểm thử phần mềm chung nhất [10], khái niệm ứng dụng Android trên thiết bị di động, những thách thức trong kiểm thử ứng dụng trên Android, phương pháp toán tử đột biến trong kiểm thử phần mềm và ý nghĩa của bài toán. Giới thiệu chung về kiểm thử phần mềm Kiểm thử [10] là quá trình thực hiện một sản phẩm phần mềm trên dữ liệu đầu vào mẫu và phân tích đầu ra của nó. Sản phẩm phần mềm không giống như các sản phẩm kỹ thuật khác, thường không có lỗi, hoặc có rất ít lỗi. Nhưng các sản phẩm phần mềm dễ bị lỗi, do sự tích lũy các lỗi trong tất cả các giai đoạn trong vòng đời của chúng (thông số kỹ thuật bị lỗi, thiết kế bị lỗi, thực hiện bị lỗi, v.

Ngoài ra, không giống như các sản phẩm kỹ thuật khác, sản phẩm phần mềm còn có lỗi do hao mòn sản phẩm trong quá trình sử dụng. Lỗi phát sinh trong các sản phẩm phần mềm hầu hết là lỗi thiết kế, được cung cấp cùng với sản phẩm mới. Kiểm thử phần mềm cũng cung cấp mục tiêu, cái nhìn độc lập về phần mềm, điều này cho phép việc đánh giá và hiểu rõ các rủi ro khi thực thi phần mềm. Kiểm thử phần mềm tạo điều kiện cho kiểm thử viên tận dụng tối đa tư duy đánh giá và sáng tạo để có thể phát hiện ra những điểm mà người khác chưa nhìn thấy.

Vì mỗi kiểm thử viên ngoài các cách nhìn chung và tổng quát, từng kiểm thử viên còn có cách nhìn của riêng mình. Điều này làm cho từng kiểm thử viên có thể phát hiện được nhiều lỗi ở các góc nhìn khác nhau. Mục đích của kiểm thử phần mềm là tìm ra lỗi chưa được phát hiện, và tìm một cách sớm nhất để bảo đảm rằng lỗi sẽ được sửa. Mục tiêu của kiểm thử phần mềm là thiết kế tài liệu kiểm thử một cách có hệ thống như thiết kế các trường hợp kiểm thử và đi cụ thể chi tiết từng trường hợp kiểm thử.

Từ đó thực hiện nó sao cho có hiệu quả, nhưng tiết kiệm được thời gian, công sức và chi phí. 2 LUAN VAN CHAT LUONG download : add luanvanchat@agmail. Vòng đời phát triển của phần mềm Vòng đời của phát triển phần mềm được trải qua các giai đoạn tiến hành tuần tự từ giai đoạn phân tích yêu cầu đến giai đoạn vận hành và bảo trì sản phẩm như Hình 1.1 Các giai đoạn phát triển của phần mềm  Requirements (phân tích yêu cầu): Phân tích yêu cầu là quan trọng nhất trong các giai đoạn của vòng đời phát triển phần mềm. Ở giai đoạn này, người phân tích thiết kế sẽ xác định yêu cầu cụ thể của phần mềm.

Từ đó cho phép người sử dụng và các lập trình viên, kiểm thử viên có cái nhìn tổng quát nhất về phần mềm.  Architecture (cấu trúc phần mềm): Trong giai đoạn này người thiết kế và phân tích sẽ xác định thành phần bên trong và mô tả chi tiết các thành phần bên trong 3 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com của phần mềm, cũng như cách hệ thống sẽ được triển khai, cách chia sẻ dữ liệu, v.  Design (thiết kế phần mềm): Trong giai đoạn thiết kế này người thiết kế và phân tích sẽ đưa ra các quyết định thiết kế toàn bộ hệ thống. Các thiết kế liên quan đến cấu trúc dữ liệu, hiển thị dữ liệu, các thuật toán và chia tách các chức năng phần mềm thành các đơn vị nhỏ để các lập trình viên phát triển độc lập.

 Programming (lập trình): Giai đoạn lập trình được thực hiện bởi các lập trình viên dựa trên yêu cầu thiết kế và kiến trúc phần mềm đã được xác định trước đó, Trong giai đoạn này, các kiểm thử viên đã có thể thiết kế các trường hợp kiểm thử đơn vị để sử dụng kiểm thử đơn vị để kiểm thử trong giai đoạn này.  Integration (tích hợp): Khi tất cả các đơn vị của phần mềm đã được phát triển, các đơn vị hoặc các chức năng sẽ được tích hợp với nhau để tạo nên một phần mềm hoàn chỉnh. Trong giai đoạn này, các kiểm thử viên sẽ thiết kế các trường hợp kiểm thử tích hợp và sử dụng kiểm thử tích hợp để kiểm thử trong giai đoạn này.  Delivery (bàn giao sản phẩm) : Khi phần mềm đã trải qua kiểm thử tích hợp thì các kiểm thử viên sẽ kiểm thử chấp nhận.

Kiểm thử chấp nhận là kiểm thử toàn bộ phần mềm. Kiểm thử trong giai đoạn này có thể được thiết kế các trường hợp kiểm thử với góc nhìn của người sử dụng. Khi kiểm thử chấp nhận được hòa thành thì sản phẩm đã có thể được bàn giao.  Maintenance (vận hành và bảo trì) : Giai đoạn vận hành bảo trì là giai đoạn cuối cùng trong vòng đời phát triển phần mềm.

Nếu trong giai đoạn vận hành, sản phẩm phần mềm bị lỗi hoặc có yêu cầu thay đổi, thì thao tác bảo trì được bắt đầu để thay đổi. Khi hoàn thành thao tác bảo trì, hệ thống phần mềm hoạt động bảo trì có thể chỉ liên quan đến một phần giới hạn của mã nguồn hoặc chỉ tập trung vào một vài chức năng hệ thống. Kiểm thử trong giai đoạn này được gọi là kiểm thử hồi quy. Vòng đời của kiểm thử phần mềm Hiện nay có rất nhiều mô hình được đưa ra trong phát triển phần mềm.

Trong phần này sẽ trình về vòng đời của kiểm thử phần mềm cụ thể ở đây là vòng đời kiểm thử phần mềm của mô hình chữ V. Mặc dù kiểm thử thường được coi là một pha, và là pha cuối cùng của vòng đời phần mềm. Nhưng nó thực sự được xem là hoạt động diễn 4 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com ra đồng thời trong tất cả các giai đoạn của vòng đời, từ đầu đến cuối. Trong mô hình chữ V, việc minh họa bản chất của kiểm thử là một hoạt động đang diễn ra trong suốt vòng đời phần mềm và việc kiểm thử có thể được lên kế hoạch từng bước một, mỗi cặp pha được kết nối bởi một mũi tên nằm ngang trong Hình 1.

2 [10]và có mối liên hệchặt chẽ với nhau. Trong mô hình chữ V pha hiệu chỉnh bên nhánh bên phải, và cái sau kiểm tra tính hợp lệ của cái trước.2 Kiểm thử phần mềm tương ứng với mô hình chữ V  Unit testing ( kiểm thử đơn vị): Unit test diễn ra trong quá trình lập trình được lập trình viên hoặc kiểm thử viên thực hiện. Trong pha này đơn vị là phần có thể kiểm thử nhỏ nhất như hàm hoặc các thành phần đơn lẻ. 5 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com  Integration testing (kiểm thử tích hợp): Kiểm thử tích hợp là phương pháp tích hợp các thành phần cơ sở, sau đó bổ sung thêm các thành phần chức năng được bắt đầu từ đơn vị thấp nhất hoặc trong cùng của ứng dụng và dần dần di chuyển lên trên.

Kiểm thử tích hợp được bắt đầu từ module thấp nhất và dần dần tiến tới các module cao hơn của ứng dụng. Sự tích hợp này tiếp tục cho tới khi tất cả các module được kiểm thử hoàn tất.  System testing (kiểm thử hệ thống): Kiểm thử hệ thống cho phép kiểm thử viên theo dõi và đánh giá hành vi của hệ thống, hệ thống được hoàn chỉnh và tích hợp đầy đủ các chức năng như yêu cầu chức năng đã được xác định trước.  Acceptance testing (kiểm thử chấp nhận): Kiểm thử chấp nhận thường được diễn ra cuối cùng và xác nhận lại sự tin tưởng của hệ thống, các đặc tính thuộc về chức năng hoặc phi chức năng của hệ thống.

Ngoài ra kiểm thử chấp nhận thường được kiểm thử viên nhìn nhận và đánh giá phần mềm dưới góc nhìn của người sử dụng. Vì vậy những lỗi phát hiện ra ở giai đoạn này thường mang ý nghĩa quan trọng. Ứng dụng Android trên thiết bị di động và kiểm thử ứng dụng Android 1. Ứng dụng Android trên thiết bị di động Hiện nay khi các ứng dụng di động ngày càng được sử dụng rộng rãi và các nhà phát triển cho phép người dùng có thể kết nối với nhau theo nhiều cách, thì công việc của các nhà phát triển ứng dụng ngày càng trở nên quan trọng trong một nền kinh tế toàn cầu.

Các ứng dụng di động mà chúng ta sử dụng hàng ngày đã thay đổi cách chúng ta tiến hành kinh doanh, giao tiếp, giải trí, làm việc và học thêm những điều mới. Các thiết bị và ứng dụng Android hiện nay đang chiếm phần lớn trên thị trường. Đem lại nhiều tính ứng dụng cao trong đời sống và cho người sử dung. Hệ điều hành Android không chỉ là hệ điều hành trên điện thoại di động được sử dụng rộng rãi nhất, mà nhiều ứng dụng đã được phát hành và tải xuống cho Android nhiều hơn bất kỳ hệ điều hành nào khác.

Android là một trong các hệ điều hành được ưa chuộng nhất hiện nay. Với ưu thế là mã nguồn mở và được đông đảo cộng đồng yêu thích, Android đã thu hút rất nhiều nhà phát triển từ khắp mọi nơi trên thế giới và đang dần khẳng định vị thế. 6 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Nhờ Android mà hàng loạt các ứng dụng games, ứng dụng di động gia tăng một cách nhanh chóng. Khi các ứng dụng di động ngày càng được sử dụng rộng rãi và cho phép người dùng có thể kết nối với nhau theo nhiều cách, thì chất lượng phần mềm lại được đặt lên hàng đầu.

Vì thế để giải quyết bài toán chất lượng, thì kiểm thử phần mềm đang và đã được các nhà phát triển, các lập trình viên và các kiểm thử viên quan tâm.3 Minh họa các ứng dụng Android trên Google Play 1. Kiểm thử ứng dụng Android Các thiết bị và ứng dụng Android hiện nay đang chiếm phần lớn trên thị trường. Đem lại nhiều tính ứng dụng cao trong đời sống và cho người sử dung. Vì vậy kiểm thử ứng dụng Android trên thiết bị di động là cần thiết.

Và phân tích đột biến là một phương pháp kiểm thử phần mềm tiềm năng, đặc biệt đối với việc kiểm thử các ứng dụng trên Android.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ