Một số thuật ngữ liên quan

Một phần của tài liệu NGHIÊN CỨU PHÁT TRIỂN KỸ THUẬT VÀ GIẢI PHÁP KIỂM THỬ ỨNG DỤNG DI ĐỘNG (Trang 77 - 79)

DI ĐỘNG VÀ PHƯƠNG PHÁP PHÁT TRIỂN LINH HOẠT

3.2. Kỹ thuật sinh ca kiểm thử và dữ liệu dựa trên yêu cầu người dùng và điều kiện chấp

3.2.1. Một số thuật ngữ liên quan

Câu chuyện của người dùng (user story-US) là phản hồi thu được từ người

dùng sử dụng hệ thống. Cohn [21] mô tả các US bao gồm ba phần: (1) một mô tả bằng văn bản được sử dụng để xác định câu chuyện trong một bối cảnh ngắn và cụ thể; (2) các cuộc hội thoại liên quan đến câu chuyện để làm rõ chi tiết câu chuyện; (3) các thử nghiệm liệt kê chi tiết tài liệu và xác nhận khi câu chuyện kết thúc. Câu chuyện của người dùng phát biểu theo mẫu: As a < type of user >, I want < some

goal > so that < some reason >.

Tiêu chí chấp nhận (acceptance criteria-AC) là các trường hợp mà ứng dụng phần

mềm phải đáp ứng để được người dùng, khách hàng hoặc bất kỳ người nào khác chấp nhận về mặt chức năng. Các AC cũng được gọi là tập hợp các câu lệnh hoặc nói cách khác là danh sách kiểm tra cần được trả lời rõ ràng Có/Khơng hoặc Đạt/Khơng và được áp dụng cho cả các yêu cầu chức năng và phi chức năng. AC cũng giúp nhanh chóng định hình US, bởi vì một khi họ biết các US sẽ được xác minh như thế nào, họ hiểu nỗ lực cần thiết để làm cho nó xảy ra [104]. AC được mô tả theo cú pháp “When

I <input> X and <process> Y, I will check for <outcome> Z as a result”, nó bao

gồm 3 phần: input – giá trị/ yêu cầu đầu vào; process – các tính tốn u cầu kiểm tra; outcome: kết quả kỳ vọng.

Kịch bản kiểm thử (Test scenario): bao gồm một bộ các trường hợp thử nghiệm

được lên kế hoạch để kiểm thử một ứng dụng phần mềm. Mục tiêu chính là dự đốn đầu ra bằng cách đưa ra một tập hợp các đầu vào được chỉ định. Nó chứa các chỉ dẫn hoặc mục tiêu chi tiết cho mọi trường hợp kiểm thử và thông tin liên quan đến cấu hình hệ thống được sử dụng trong quá trình kiểm thử. Người kiểm thử đứng trên quan điểm của người dùng và xác định những loại kịch bản thực tế khác nhau có thể được thực thi. Một khi các kịch bản thử nghiệm được xác định, các trường hợp kiểm thử có thể được viết cho mọi tình huống.

Z3 SMT solver: Bài toán SAT là một bài tốn trong khoa học máy tính nhằm kiểm

thức lơgic mệnh đề. SAT – Satisfiability solver là công cụ chứng minh một cách tự động biểu thức logic mệnh đề là thoả mãn hay khơng thoả mãn. SAT có thể giải hiệu quả với hàng triệu biến trong một mệnh đề và có thể tìm được lời giải tốt nhất [24]. SMT (satisfiability modulo theories) là sự mở rộng của SAT đối với từng lý thuyết (Theory) nhất định. Cả SAT Solver và SMT Solver đều đóng vai trị là cơng cụ nền (backed engine) trong các công cụ kiểm chứng phần mềm.

Z3 SMT Solver là cơng cụ hữu hiệu cho việc tìm lời giải, phân tích và kiểm chứng phần mềm của Microsoft Research [68,24]. Các bài toán thỏa mãn ràng buộc hiện diện trong rất nhiều lĩnh vực khác nhau bao gồm xác minh phần mềm và phần cứng, sinh ca kiểm thử, dữ liệu kiểm thử, lập lịch, đồ thị. Định dạng đầu vào cho Z3 là phần mở rộng của định dạng được xác định bởi tiêu chuẩn SMT-LIB 2.0 [68]. Các tệp SMT-LIB là các tệp văn bản ASCII có thể được viết đơn giản bằng cách sử dụng bất kỳ trình soạn thảo văn bản nào. Cú pháp này bắt nguồn từ các biểu thức S của Common Lisps. Hầu hết những người giải quyết có thể đọc cơng thức từ đầu vào tiêu chuẩn của chương trình, cho phép sử dụng các POSIX để giao tiếp với người giải quyết [68].

Ngôn ngữ đặc tả miền ứng dụng: (Domain-specific language -DSL) là một

ngơn ngữ máy tính chuyên biệt cho miền ứng dụng cụ thể. Có rất nhiều loại DSL, từ các ngơn ngữ được dùng cho miền phổ biến, như HTML cho các trang web, đến các ngôn ngữ chỉ được dùng cho một hoặc một phần của phần mềm. DSL có thể được chia nhỏ hơn theo loại ngôn ngữ và bao gồm ngôn ngữ đánh dấu miền chuyên biệt, ngơn ngữ mơ hình miền chun biệt (tổng qt hơn, ngôn ngữ đặc tả), và ngơn ngữ lập trình miền chun biệt. Ngơn ngữ máy tính có mục đích đặc biệt ln tồn tại trong thời đại máy tính, nhưng thuật ngữ "ngơn ngữ miền chun biệt" trở nên phổ biến do sự gia tăng của mơ hình miền chuyên biệt (domain-specific modeling). Các DSL đơn giản hơn, đặc biệt được dùng bởi chỉ một ứng dụng, đôi khi được gọi mini-language [34].

Phương pháp đặc tả hình thức: Đặc tả hình thức (Formal Specification methods)

được gọi là đặc điểm kỹ thuật các thuộc tính của một chương trình trong một ngơn ngữ được xác định bởi logic toán học [104]. Đặc tả hình thức được sử dụng rộng rãi

trong lĩnh vực nghiên cứu và phát triển phần mềm. Đặc tả hình thức là một biểu thức và tập hợp các thuộc tính cụ thể mà mọi hệ thống phải thỏa mãn. Nó được thể hiện bằng một ngôn ngữ được tạo thành từ bốn yếu tố: các quy tắc để xác định ngữ pháp chính thức của các câu (cú pháp- syntax); các quy tắc để diễn giải câu một cách rõ ràng, có ý nghĩa trong miền được xem xét (ngữ nghĩa- the semantics); và các quy tắc để suy ra thơng tin hữu ích từ đặc điểm kỹ thuật [59,46]. Việc sử dụng phương pháp đặc tả hình thức giúp loại bỏ sự mơ hồ và làm giảm các lỗi trong chu kỳ phát triển phần mềm. Một đặc tả hình thức có thể được phân tích để khám phá hậu quả của đặc điểm kỹ thuật này và có khả năng tìm thấy tất cả các loại sai sót trong phần mềm trong q trình phát triển [46]. Với việc sử dụng đặc tả hình thức, quy trình thử nghiệm có thể được tự động hóa, thử nghiệm hiệu quả [46, 38,95].

Xtext là một khung (framework) cho việc phát triển các ngơn ngữ lập trình và các

ngơn ngữ chuyên biệt cho miền ứng dụng cụ thể (DSL) [112,125]. Với Xtext, có thể tạo ngơn ngữ rất riêng một cách nhanh chóng. Eclipse IDE cung cấp một bộ các DSL và các API hiện đại để mơ tả các khía cạnh khác nhau của ngơn ngữ lập trình tự định nghĩa. Dựa trên mơ tả ngơn ngữ, nó cho phép thực hiện đầy đủ ngơn ngữ đó đang chạy trên JVM, tức là (1) trình phân tích cú pháp và một cây cú pháp trừu tượng (AST); (2) serializer và mã định dạng; (3) khuôn khổ phạm vi và liên kết; (4) kiểm tra trình biên dịch và phân tích tĩnh; (5) trình tạo mã hoặc thông dịch mã [112,125].

Kiểm thử tự động sử dụng công cụ Cucumber là khung kiểm thử phát triển

theo hướng hành vi (BDD) được sử dụng để viết các kiểm thử chấp nhận cho ứng dụng. Cucumber cho phép tự động hóa xác thực chức năng một cách dễ đọc và tồn diện cho các nhà phân tích nghiệp vụ, nhà phát triển và người thử nghiệm. Nhiều công cụ khác như JBehave, SpecFlow và Concordion có sẵn cũng hỗ trợ framework BDD. BDD là phần mở rộng của TDD và nó được sử dụng để kiểm thử hệ thống thay vì kiểm thử mã cụ thể [124,48].

Một phần của tài liệu NGHIÊN CỨU PHÁT TRIỂN KỸ THUẬT VÀ GIẢI PHÁP KIỂM THỬ ỨNG DỤNG DI ĐỘNG (Trang 77 - 79)

Tải bản đầy đủ (DOC)

(143 trang)
w