Luận văn thạc sĩ kỹ thuật phần mềm: Mã kiểm thử tự động dựa trên kịch bản hướng hành vi - ĐHQGHN

"Nghiên cứu đề xuất phương pháp kiểm thử tự động dựa trên kịch bản kiểm thử hướng hành vi, nâng cao hiệu suất và độ chính xác trong kiểm thử phần mềm."

Tác giả

Luan An

Thể loại

Luận văn thạc sĩ

Năm xuất bản

Số trang

73

Thời gian đọc

11 phút

Lượt xem

0

Lượt tải

0

Phí lưu trữ

40 Point

Tổng quan nhanh

Chủ đề:
1. Tối ưu hóa Kiểm thử Phần mềm: Tự động hóa và BDD
Số trang:
73 trang
Trường:
Trường Đại học Công nghệ, Đại học Quốc gia Hà Nội
Chuyên ngành:
Kỹ thuật phần mềm
Năm:

Tóm tắt nội dung luận án

I. Tối ưu hóa Kiểm thử Phần mềm Tự động hóa và BDD

Phát triển phần mềm ngày càng tự động hóa nhiều công đoạn. Kiểm thử là một giai đoạn tốn kém về chi phí và nguồn lực chuyên gia, kỹ sư. Đơn giản hóa, tự động hóa quá trình kiểm thử là vấn đề cấp bách. Luận văn nghiên cứu kiểm thử tự động hướng hành vi. Nó tập trung vào kiểm thử chấp nhận dựa trên hành vi người dùng. Mục tiêu chính là cải thiện hiệu quả, giảm gánh nặng nguồn lực trong quy trình phát triển. Tự động hóa kiểm thử phần mềm mang lại nhiều lợi ích. Việc này giúp doanh nghiệp tiết kiệm chi phí, nâng cao chất lượng sản phẩm. Giảm thiểu lỗi phát sinh, tăng tốc độ triển khai phần mềm. Phương pháp BDD (Behavior-Driven Development) được xem là giải pháp hiệu quả cho mục tiêu này.

1.1. Thách thức Kiểm thử Phần mềm Chi phí và Nguồn lực

Phát triển phần mềm đòi hỏi nhiều nguồn lực. Giai đoạn kiểm thử tiêu tốn lượng lớn chi phí, nhân lực. Các chuyên gia chất lượng phần mềm thường xuyên thực hiện công việc lặp lại. Việc này tạo gánh nặng lớn cho dự án. Tìm kiếm giải pháp tự động hóa là ưu tiên hàng đầu. Mục đích là giảm thiểu công sức thủ công, tối ưu hóa quy trình. Đảm bảo chất lượng phần mềm hiệu quả hơn.

1.2. Giải pháp Kiểm thử Tự động Đơn giản hóa Quy trình

Kiểm thử tự động hóa đơn giản hóa quy trình kiểm thử. Mã kiểm thử được sinh tự động từ kịch bản. Việc này giảm đáng kể công sức thủ công. Tăng tốc độ thực hiện các ca kiểm thử. Lỗi được phát hiện sớm hơn trong chu trình phát triển. Kiểm thử tự động nâng cao chất lượng phần mềm. Nó cũng tạo ra khả năng tái sử dụng kịch bản kiểm thử.

1.3. Giới thiệu Kiểm thử Chấp nhận Hướng Hành vi

Luận văn tập trung nghiên cứu kiểm thử tự động hướng hành vi (BDD). Phương pháp này kiểm thử chấp nhận dựa trên hành vi người dùng. Nó đảm bảo phần mềm hoạt động đúng mong đợi. BDD cải thiện giao tiếp giữa các bên liên quan. Kịch bản kiểm thử phản ánh yêu cầu thực tế. Điều này giúp phát triển phần mềm chính xác hơn.

II. Khám phá Kiểm thử Hướng Hành vi Nền tảng BDD

BDD là một kỹ thuật phần mềm tiên tiến. Nó là sự mở rộng của Test-Driven Development (TDD). BDD tập trung vào mô tả hành vi mong muốn của hệ thống. Nó sử dụng ngôn ngữ tự nhiên, dễ hiểu cho cả người không chuyên kỹ thuật. Điều này giúp tăng cường sự hợp tác giữa các thành viên dự án. Mục tiêu là tạo ra sản phẩm đáp ứng đúng nhu cầu người dùng. Việc này cải thiện đáng kể chất lượng phần mềm. BDD định hình cách các yêu cầu được định nghĩa và kiểm thử. Nó tạo ra một vòng lặp phản hồi nhanh chóng, hiệu quả. Việc ứng dụng BDD giúp giảm thiểu hiểu lầm về yêu cầu. Tăng cường khả năng bảo trì và mở rộng của mã nguồn.

2.1. Nền tảng Phát triển Hướng Hành vi BDD

BDD là một phương pháp kỹ thuật phần mềm. Nó phát triển từ TDD. BDD tập trung vào hành vi mong muốn của hệ thống. Nó sử dụng ngôn ngữ chung cho cả kỹ sư, kinh doanh. Việc này cải thiện giao tiếp trong nhóm. Mục tiêu là tạo ra sản phẩm đúng nhu cầu. BDD giúp tăng cường sự hiểu biết chung về yêu cầu.

2.2. Kết nối BDD với Test Driven Development TDD

BDD xây dựng dựa trên nguyên tắc TDD. TDD yêu cầu viết kiểm thử trước khi viết mã. BDD mở rộng điều này bằng cách tập trung vào hành vi. Nó mô tả các kịch bản kiểm thử dựa trên hành vi người dùng. Sau đó, mã kiểm thử được sinh ra từ các kịch bản này. TDD và BDD bổ trợ nhau, tăng cường chất lượng phần mềm.

2.3. Ngôn ngữ Gherkin và Mô tả Kịch bản

Ngôn ngữ Gherkin là trung tâm của BDD. Gherkin là ngôn ngữ tự nhiên có cấu trúc. Nó mô tả các kịch bản kiểm thử rõ ràng. Cú pháp 'Given-When-Then' dễ đọc, dễ hiểu. Kịch bản Gherkin kết nối yêu cầu kinh doanh với mã nguồn. Nó là cầu nối quan trọng trong phát triển hướng hành vi.

III. Công cụ Kiểm thử Tự động Hướng Hành vi Cucumber

Luận văn khám phá các công cụ kiểm thử tự động hướng hành vi. Cucumber là công cụ nổi bật. Nó cho phép thực thi các kịch bản Gherkin. Cucumber phân tích các bước ngôn ngữ tự nhiên, ánh xạ chúng tới mã kiểm thử. Việc này hỗ trợ tự động hóa kiểm thử phần mềm hiệu quả. Bên cạnh Cucumber, luận văn cũng tìm hiểu các công cụ khác. Jasmine và Rspec cũng là lựa chọn phổ biến trong cộng đồng BDD. Mỗi công cụ có ưu điểm riêng, phù hợp với các môi trường phát triển khác nhau. Việc lựa chọn công cụ phù hợp giúp tối ưu hóa quy trình kiểm thử. Đảm bảo tính linh hoạt, khả năng mở rộng của framework kiểm thử.

3.1. Giới thiệu Công cụ Cucumber trong BDD

Cucumber là công cụ kiểm thử tự động hàng đầu cho BDD. Nó thực thi các kịch bản Gherkin. Cucumber phân tích các bước 'Given-When-Then'. Nó ánh xạ chúng tới các đoạn mã kiểm thử. Cucumber hỗ trợ nhiều ngôn ngữ lập trình. Tự động hóa kiểm thử phần mềm trở nên hiệu quả. Nó là thành phần cốt lõi trong framework thực nghiệm.

3.2. Cấu trúc Framework Kiểm thử với Cucumber

Framework kiểm thử dựa trên Cucumber có cấu trúc rõ ràng. Nó bao gồm các tập tin tính năng viết bằng Gherkin. Các bước thực hiện (step definitions) ánh xạ kịch bản tới mã. Framework này hỗ trợ báo cáo kết quả kiểm thử chi tiết. Việc này giúp theo dõi tiến độ, chất lượng phần mềm. Công nghệ Java được sử dụng để phát triển framework.

3.3. Các công cụ hỗ trợ khác Jasmine Rspec

Ngoài Cucumber, nhiều công cụ khác cũng hỗ trợ BDD. Jasmine được dùng cho kiểm thử JavaScript. Rspec phổ biến trong Ruby. Những công cụ này cũng tập trung vào mô tả hành vi. Chúng giúp các nhà phát triển tạo mã kiểm thử dễ dàng. Một công cụ khác là SpecFlow, hỗ trợ BDD trong môi trường .NET.

IV. Thực nghiệm Đánh giá Framework Kiểm thử Tự động

Luận văn thực hiện thực nghiệm framework kiểm thử. Framework sử dụng Cucumber và Java. Việc này nhằm đánh giá hiệu quả của kiểm thử tự động hướng hành vi. Các thành phần của framework được triển khai chi tiết. Phương pháp sinh mã kiểm thử tự động từ kịch bản BDD được áp dụng. Kết quả thực nghiệm cung cấp cái nhìn sâu sắc. Nó đánh giá tính khả thi, hiệu quả của phương pháp. Dữ liệu thời gian chạy, báo cáo lỗi được phân tích. Từ đó đưa ra những nhận xét, đề xuất cải tiến. Mục tiêu là tối ưu hóa quá trình tự động hóa kiểm thử phần mềm. Đảm bảo chất lượng sản phẩm cuối cùng.

4.1. Triển khai Framework Kiểm thử Tự động

Luận văn triển khai framework kiểm thử tự động. Framework sử dụng Cucumber và công nghệ Java. Nó tích hợp các thư viện như Selenium Webdriver. Việc này cho phép kiểm thử giao diện người dùng web. Quy trình cài đặt, cấu hình được mô tả chi tiết. Khả năng tự động hóa kiểm thử được kiểm chứng trên các kịch bản thực tế.

4.2. Phương pháp Sinh mã Kiểm thử Tự động

Nghiên cứu tập trung vào sinh mã kiểm thử tự động. Mã được tạo ra từ các kịch bản BDD. Quá trình này giúp giảm đáng kể công sức lập trình. Nó đảm bảo tính nhất quán giữa kịch bản và mã thực thi. Phương pháp này áp dụng cho các kịch bản đăng nhập và các thao tác cơ bản khác. Việc này là một bước tiến trong tự động hóa kiểm thử phần mềm.

4.3. Kết quả Thực nghiệm và Đánh giá

Thực nghiệm cho thấy hiệu quả của framework. Các kịch bản kiểm thử tự động chạy ổn định. Thời gian thực thi được ghi nhận. Kết quả kiểm thử tự động cung cấp thông tin chi tiết. Đánh giá chỉ ra ưu điểm, nhược điểm của công cụ. Nền tảng cho cải tiến chất lượng phần mềm được hình thành rõ ràng.

V. Cải tiến Chất lượng Phần mềm Đề xuất Hướng phát triển

Nghiên cứu đưa ra đánh giá, nhận xét về framework kiểm thử. Nó đề xuất phương pháp cải tiến công cụ tự động. Các đề xuất tập trung vào nâng cao khả năng sinh mã kiểm thử. Mở rộng phạm vi ứng dụng BDD. Tích hợp các kỹ thuật xử lý ngôn ngữ tự nhiên tiên tiến hơn. Mục tiêu cuối cùng là tự động hóa toàn diện. Nâng cao chất lượng phần mềm tổng thể. Hướng phát triển trong tương lai được phác thảo. Bao gồm việc áp dụng BDD cho các hệ thống phức tạp hơn. Cùng với đó là tăng cường tích hợp với quy trình phát triển liên tục (CI/CD). Việc này sẽ củng cố vị trí của phát triển hướng hành vi trong kỹ thuật phần mềm hiện đại.

5.1. Nhận xét và Đánh giá Khung Kiểm thử

Framework kiểm thử hướng hành vi hoạt động hiệu quả. Nó chuyển đổi kịch bản ngôn ngữ tự nhiên thành mã kiểm thử. Việc này giúp cải thiện giao tiếp, giảm lỗi. Tuy nhiên, vẫn tồn tại những hạn chế. Công cụ cần được tối ưu để xử lý các kịch bản phức tạp hơn. Cần nâng cao khả năng tự động hóa các trường hợp đặc biệt.

5.2. Đề xuất Cải tiến Công cụ Tự động

Luận văn đề xuất các phương pháp cải tiến công cụ. Tập trung vào nâng cao khả năng sinh mã. Cần mở rộng hỗ trợ cho nhiều loại hành vi người dùng. Tích hợp thêm các kỹ thuật xử lý ngôn ngữ tự nhiên (NLP) tiên tiến. Mục tiêu là tự động hóa toàn diện hơn, giảm thiểu can thiệp thủ công. Điều này góp phần vào chất lượng phần mềm cao hơn.

5.3. Hướng Phát triển Tương lai cho BDD

Hướng phát triển tiếp theo bao gồm mở rộng phạm vi BDD. Áp dụng BDD cho các hệ thống phân tán, dịch vụ vi mô. Phát triển công cụ hỗ trợ SpecFlow cho .NET. Tăng cường tích hợp CI/CD. Tiếp tục nghiên cứu các phương pháp sinh mã thông minh hơn. Nâng cao chất lượng phần mềm tổng thể là mục tiêu cuối cùng. Phát triển hướng hành vi sẽ tiếp tục đóng vai trò quan trọng.

Mục lục chi tiết luận án

LỜI CẢM ƠN
LỜI CAM ĐOAN
DANH MỤC TỪ VIẾT TẮT
DANH MỤC BẢNG BIỂU
DANH MỤC HÌNH VẼ
1. CHƯƠNG 1: MỞ ĐẦU
1.1. Khái quát vấn đề
1.2. Bố cục luận văn
2. CHƯƠNG 2: MỘT SỐ KIẾN THỨC NỀN TẢNG
2.1. Phát triển phần mềm dựa trên phương pháp Agile
2.2. Phát triển phần mềm hướng kiểm thử (TDD)
2.3. Phát triển hướng BDD
2.4. Xử lý ngôn ngữ tự nhiên
2.5. Khái quát về tự động kiểm thử trong BDD
3. CHƯƠNG 3: MỘT SỐ CÔNG CỤ KIỂM THỬ TỰ ĐỘNG HƯỚNG HÀNH VI
3.1. Công cụ kiểm thử Cucumber
3.2. Công cụ kiểm thử Jasmine
3.3. Công cụ kiểm thử Rspec
4. CHƯƠNG 4: THỰC NGHIỆM FRAMEWORK KIỂM THỬ TỰ ĐỘNG VÀ ĐÁNH GIÁ
4.1. Các thành phần của Framework kiểm thử sử dụng Cucumber
4.2. Công nghệ Java
4.3. Báo cáo kết quả kiểm thử
4.4. Đánh giá Framework kiểm thử
4.5. Phương pháp sinh mã kiểm thử tự động
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
TÀI LIỆU THAM KHẢO
Xem trước tài liệu
Tải đầy đủ để xem toàn bộ nội dung
Nghiên cứu sinh mã kiểm thử tự động dựa trên kịch bản kiểm thử hướng hành vi

Tải xuống file đầy đủ để xem toàn bộ nội dung

Tải đầy đủ (73 trang)

Trích đoạn nội dung luận án

Tải xuống để đọc toàn bộ

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN THỊ HỒNG NHUNG NGHIÊN CỨU SINH MÃ KIỂM THỬ TỰ ĐỘNG DỰA TRÊN KỊCH BẢN KIỂM THỬ HƯỚNG HÀNH VI LUẬN VĂN THẠC SĨ Ngành: Kỹ thuật phần mềm HÀ NỘI- 2018 dẫn dẫn dẫn ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ------------------------ NGUYỄN THỊ HỒNG NHUNG NGHIÊN CỨU SINH MÃ KIỂM THỬ TỰ ĐỘNG DỰA TRÊN KỊCH BẢN KIỂM THỬ HƯỚNG HÀNH VI Ngành: Công nghệ thông tin Chuyên ngành: Kỹ thuật phần mềm Mã số: 8480103.01 LUẬN VĂN THẠC SỸ Ngành: Kỹ thuật phần mềm NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS TRƯƠNG ANH HOÀNG HÀ NỘI - 2018 i TÓM TẮT Tóm tắt: Trong lĩnh vực làm phần mềm ngày càng có nhiều công việc được tự động hóa. Kiểm thử là một trong những giai đoạn làm phần mềm tốn nhiều chi phí cũng như nguồn nhân lực của các chuyên gia, kỹ sư đảm bảo chất lượng phần mềm, làm sao để tự động và đơn giản hóa quá trình kiểm thử đang là một vấn đề được quan tâm. Luận văn tập trung nghiên cứu về kiểm thử tự động hướng hành vi, nghĩa là kiểm thử chấp nhận trên hành vi của người dùng. Từ việc nghiên cứu sinh mã kiểm thử động của các công cụ kiểm thử tự động luận văn tìm hiểu về việc ứng dụng các kĩ thuật kiểm thử tự động trong kiểm thử dựa trên kịch bản kiểm thử hướng hành vi.

Bằng việc thực nghiệm công cụ kiểm thử với các kịch bản dưới dạng ngôn ngữ tự nhiên có cấu trúc, từ kết quả kiểm thử tự động, luận văn đưa ra đánh giá, nhận xét và đề xuất phương pháp cải tiến công cụ tự động trong kiểm thử phần mềm hướng hành vi. Từ khóa: kiểm thử, kiểm thử tự động, kiểm thử hướng thành phần, kiểm thử hướng hành vi. ii LỜI CẢM ƠN Trước tiên tôi xin dành lời cảm ơn chân thành nhất đến thầy giáo, PGS. Trương Anh Hoàng – Thầy đã giúp tôi định hướng trong quá trình nghiên cứu cũng như học tập tại khoa CNTT, đồng thời thầy cũng là người hướng dẫn, khích lệ tôi trong quá trình học tập và hoàn thành luận văn của mình.

Tôi xin gửi lời cảm ơn tới các thầy cô giáo khoa Công nghệ thông tin, trường Đại học Công nghệ, ĐHQGHN đã đào tạo, cung cấp cho tôi những kiến thức tôi trong suốt quá trình học tập, nghiên cứu tại trường. Tôi cũng xin cảm ơn tất cả những người thân yêu trong gia đình tôi cùng toàn thể bạn bè, đồng nghiệp tại khoa CNTT, trường ĐH CNVT những người đã giúp đỡ, động viên, tạo điều kiện thuận lợi cho tôi học tập và nghiên cứu chương trình thạc sĩ tại Đại học Công nghệ, ĐH QGHN. Tôi xin chân thành cảm ơn! Học viên thực hiện Nguyễn Thị Hồng Nhung iii LỜI CAM ĐOAN Tôi xin cam đoan đề tài nghiên cứu sinh mã kiểm thử tự động dựa trên kiểm thử hướng hành vi được trình bày trong luận văn là do tôi thực hiện dưới sự hướng dẫn của PGS.TS Trương Anh Hoàng, không sao chép bất kì kết quả nghiên cứu của các tác giả khác. Nội dung trong luận văn có tham khảo một số tài liệu và sử dụng nguồn từ các bài viết, tạp chí đều đã được nêu đầy đủ trong mục tài liệu tham khảo.

Hà Nội, ngày tháng năm 2018 Học viên thực hiện Nguyễn Thị Hồng Nhung iv MỤC LỤC LỜI CẢM ƠN. ii LỜI CAM ĐOAN. iii MỤC LỤC. iv DANH MỤC TỪ VIẾT TẮT.

vi DANH MỤC BẢNG BIỂU.vii DANH MỤC HÌNH VẼ.viii CHƯƠNG 1: MỞ ĐẦU.1 Khái quát vấn đề.3 Bố cục luận văn. 3 CHƯƠNG 2: MỘT SỐ KIẾN THỨC NỀN TẢNG.1 Phát triển phần mềm dựa trên phương pháp Agile.2 Phát triển phần mềm hướng kiểm thử (TDD).3 Phát triển hướng BDD.4 Xử lý ngôn ngữ tự nhiên.5 Khái quát về tự động kiểm thử trong BDD.12 CHƯƠNG 3: MỘT SỐ CÔNG CỤ KIỂM THỬ TỰ ĐỘNG HƯỚNG HÀNH VI.1 Công cụ kiểm thử Cucumber.2 Công cụ kiểm thử Jasmine.3 Công cụ kiểm thử Rspec.19 CHƯƠNG 4: THỰC NGHIỆM FRAMEWORK KIỂM THỬ TỰ ĐỘNG VÀ ĐÁNH GIÁ.1 Các thành phần của Framework kiểm thử sử dụng Cucumber.1 Công nghệ Java. Báo cáo kết quả kiểm thử.3 Đánh giá Framework kiểm thử.4 Phương pháp sinh mã kiểm thử tự động.42 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN.52 TÀI LIỆU THAM KHẢO.54 vi DANH MỤC TỪ VIẾT TẮT Ký hiệu Dạng đầy đủ Behavior Driven development – Phát triển phần mềm hướng BDD hành vi NLP Natural Language Processing – Xử lý ngôn ngữ tự nhiên TDD Test Driven Development Phát triển phần mềm hướng kiểm thử vi DANH MỤC BẢNG BIỂU Bảng 3-1 Ngôn ngữ Gherkin. 14 Bảng 4-1 Các câu lệnh thường dùng trong Selenium Webdriver.30 Bảng 4-3 Thời gian chạy 1 kịch bản kiểm thử tự động.41 Bảng 4-4 Mô tả phương pháp sinh thân hàm cho kịch bản đăng nhập trên trang stackoverflow.

49 Bảng 4-5 Mô tả phương pháp sinh thân hàm cho kịch bản đăng nhập vào trang web demo.50 vi DANH MỤC HÌNH VẼ Hình 1-1 Tiến trình sinh mã kiểm thử tự động dựa trên kịch bản BDD.4 Hình 2-1 Quy trình TDD.6 Hình 2-2 Mô hình BDD – TDD được mô tả trong Agile bởi Paul LittleBury 9 Hình 3-1 Kiểm thử với Jasmine.16 Hình 3-2 Chạy Kịch bản kiểm thử trên Jasmine.18 Hình 3-3 Chạy ca kiểm thử khi hàm có lỗi.19 Hình 3-4 Cấu trúc các bước kiểm thử của Rspec.20 Hình 4-1 Các thành phần Framework kiểm thử.21 Hình 4-2 Tìm kiếm thư viện trong Eclipse.22 Hình 4-3 Cài đặt thư viện Maven trong Eclipse.23 Hình 4-5 Cấu trúc 1 dự án Maven.24 Hình 4-6 Kiểm tra cài đặt các thư viện trong file pom.28 Hình 4-7 Các Hooks trong Cucumber.29 Hình 4-8 Quy trình kiểm thử với Framework Cucumber.31 Hình 4-9 Các steps được sinh ra từ Feature file.33 Hình 4-10 Chạy kịch bản kiểm thử.37 Hình 4-11 Thực thi ca kịch bản kiểm thử trên nền web.37 Hình 4-12 Cấu trúc thư mục sinh báo cáo trong kiểm thử.39 Hình 4-13 Cấu trúc sinh bảng báo cáo từ các feature file.39 Hình 4-14 Cấu hình để sinh báo cáo kiểm thử.40 Hình 4-15 Báo cáo kiểm thử dưới dạng report.41 Hình 4-16 Báo cáo kiểm thử dưới dạng html.41 1 CHƯƠNG 1: MỞ ĐẦU Ứng dụng tự động hoá trong nhiều lĩnh vực ngày càng phát triển. Trong lĩnh vực làm phần mềm càng lúc lại càng được tự động hóa nhiều hơn. Kiểm thử là một trong những giai đoạn làm phần mềm, làm sao để tự động và đơn giản hóa quá trình kiểm thử đang là một vấn đề được quan tâm. Luận văn tập trung nghiên cứu về kiểm thử động hướng hành vi.

Từ việc nghiên cứu sinh mã kiểm thử tự động của các công cụ kiểm thử tự động, luận văn áp dụng ứng dụng công cụ vào kiểm thử và tìm hiểu phương pháp xây dựng công cụ kiểm thử tự động trong kiểm thử hướng hành vi.1 Khái quát vấn đề Kiểm thử phần mềm theo hướng kiểm thử hướng hành vi (BDD – Behavior Driven Testing) [2] là một khái niệm mở rộng của TDD (Test Driven Development). TDD là khái niệm kiểm thử theo hướng kiểm thử từng phần, viết ca kiểm thử [12] trước rồi lập trình sau. Trong kiểm thử hướng hành vi dựa trên yêu cầu của người sử dụng chúng ta xây dựng các ca kiểm thử. Một trong những điểm yếu khi lập trình phần mềm là rất khó để đáp ứng được đúng yêu cầu của người sử dụng, có nhiều nguyên nhân, trong đó có nguyên nhân là người lập trình không hiểu được yêu cầu người dùng.

Vì vậy nếu sử dụng được trực tiếp ngôn ngữ của người sử dụng vào các ca kiểm thử thì sẽ có được một phần mềm đúng với yêu cầu người sử dụng mà không lãng phí nhiều tài nguyên. Đồng thời kiểm thử tự động với mã kiểm thử hướng hành vi sẽ giúp tiết kiệm nguồn nhân lực kiểm thử, giảm thiểu tối đa chi phí làm phần mềm, sản phẩm. Qua tìm hiểu một số công cụ kiểm thử tự động trong kiểm thử hướng hành vi hiện nay sinh phương thức kiểm thử nhưng không sinh thân hàm kiểm thử. Ví dụ với công cụ kiểm thử tự động Cucumber, Từ kịch bản kiểm thử ngôn ngữ tự nhiên: Feature: search Wikipedia Scenario: direct search article Given Enter search term 'Cucumber' When Do search Then Single result is shown for 'Cucumber' 2 Thông qua công cụ kiểm thử tự động, các phương thức được sinh ra như sau: @Given ("^Enter search term 'Cucumber'$") public void enter_search_term_Cucumber() throws Throwable { // Write code here that turns the phrase above into concrete actions } @When("^Do search$") public void do_search() throws Throwable { // Write code here that turns the phrase above into concrete actions } @Then("^Single result is shown for 'Cucumber'$") public void single_result_is_shown_for_Cucumber() throws Throwable { // Write code here that turns the phrase above into concrete actions } Tuy nhiên, công cụ tự động hiện tại không sinh được thân hàm do vậy cần đưa phương án để sinh thân các phương thức để tự động kiểm thử với kịch bản kiểm thử BDD đã có.2 Giải pháp Giải pháp luận văn đưa ra là nghiên cứu sinh các mã kiểm thử tự động từ kịch bản kiểm thử hướng hành vi.

Đồng thời sử dụng framework Cucumber kết hợp tích hợp các công cụ để kiểm thử tự động trong kiểm thử hướng hành vi dựa trên viết mã kịch bản kiểm thử bằng ngôn ngữ tự nhiên có cấu trúc. Từ việc 3 nghiên cứu quy trình xử lý ngôn ngữ tự nhiên dựa trên NLP ( Natural Language 4 Processing) luận văn cũng đưa ra và phân tích tự động hóa trong kiểm thử hướng hành vi. Với một từ điển các ca kiểm thử trên ngôn ngữ tự nhiên, từ dữ liệu đó có một hành vi tương ứng khi đọc đến ca kiểm thử hành vi đối với phần mềm đang xây dựng. Khi đó, mỗi lúc gọi đến kịch bản kiểm thử sẽ dẫn đến hành vi xử lý trong phần mềm tương ứng khác nhau.

Luận văn đề xuất phương án xây dựng một bộ dữ liệu bao gồm các ca kiểm thử dưới dạng ngôn ngữ tự nhiên và các ca kiểm thử tự động sinh tương ứng. Từ dữ liệu đó, áp dụng ứng dụng NLP và công cụ kiểm thử tự động hướng hành vi để khi gọi đến ca kiểm thử, các kịch bản tự động sinh ra các bước kiểm thử hướng hành vi tương ứng. Tuy nhiên khối lượng dữ liệu là lớn, do vậy trong luận văn chỉ đưa ra phương pháp và sử dụng công cụ tự động trong kiểm thử hướng hành vi để sinh phương thức là các hàm mà chưa tự động hoá được hoàn toàn sinh các thân hàm kiểm thử. Từ việc chạy công cụ kiểm thử tự động trong kiểm thử dựa trên kịch bản BDD ta có thể thấy được quy trình tự động, cũng như phương pháp phát triển, cải tiến công cụ kiểm thử tự động hiện có.

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

Trích dẫn luận án này

Nguyễn Thị Hồng Nhung (2018). Nghiên cứu sinh mã kiểm thử tự động hướng hành vi (2018) [Luận án tiến sĩ, Trường Đại học Công nghệ - Đại học Quốc gia Hà Nội]. LuanAn.net. https://luanan.net/cong-nghe-thong-tin/nghien-cuu-sinh-ma-kiem-thu-tu-dong-huong-hanh-vi

Câu hỏi thường gặp

Luận án "Nghiên cứu sinh mã kiểm thử tự động hướng hành vi (2018)" nghiên cứu về vấn đề gì?

"Nghiên cứu đề xuất phương pháp kiểm thử tự động dựa trên kịch bản kiểm thử hướng hành vi, nâng cao hiệu suất và độ chính xác trong kiểm thử phần mềm."

Luận án "Nghiên cứu sinh mã kiểm thử tự động hướng hành vi (2018)" được bảo vệ tại trường nào?

Luận án này được bảo vệ tại Trường Đại học Công nghệ - Đại học Quốc gia Hà Nội. Năm bảo vệ: 2018.

Luận án "Nghiên cứu sinh mã kiểm thử tự động hướng hành vi (2018)" thuộc chuyên ngành gì?

Luận án "Nghiên cứu sinh mã kiểm thử tự động hướng hành vi (2018)" thuộc chuyên ngành Kỹ thuật phần mềm. Danh mục: Công Nghệ Thông Tin.

Luận án "Nghiên cứu sinh mã kiểm thử tự động hướng hành vi (2018)" có bao nhiêu trang?

Luận án "Nghiên cứu sinh mã kiểm thử tự động hướng hành vi (2018)" có 73 trang. Bạn có thể xem trước một phần tài liệu ngay trên trang web trước khi tải về.

Cách tải luận án "Nghiên cứu sinh mã kiểm thử tự động hướng hành vi (2018)" về máy như thế nào?

Để tải luận án về máy, bạn nhấn nút "Tải xuống ngay" trên trang này, sau đó hoàn tất thanh toán phí lưu trữ. File sẽ được tải xuống ngay sau khi thanh toán thành công. Hỗ trợ qua Zalo: 0559 297 239.

Luận án liên quan

Chia sẻ tài liệu: Facebook Twitter