Luận văn: Nghiên cứu và Ứng dụng Kiểm Thử Chấp Nhận Tự Động với Robot Framework

Tìm hiểu về kiểm thử chấp nhận tự động với Robot Framework. Hướng dẫn chi tiết, dễ hiểu giúp bạn nâng cao hiệu quả kiểm thử phần mềm.

Chuyên ngành

Công Nghệ Thông Tin

Người đăng

Ẩn danh

Thể loại

Luận Văn Thạc Sĩ

2014

62
1
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CAM ĐOAN

LỜI CẢM ƠN

MỤC LỤC

DANH MỤC BẢNG

DANH MỤC HÌNH

1. CHƯƠNG 1: PHẦN MỞ ĐẦU

1.1. Lý do chọn đề tài

1.2. Mục tiêu luận văn

1.3. Cấu trúc luận văn

2. CHƯƠNG 2: Kiểm thử phần mềm

2.1. Kiểm thử phần mềm

2.2. Kiểm thử chấp nhận

2.3. Kiểm thử chấp nhận tự động

2.4. Một số kỹ thuật của khung kiểm thử chấp nhận tự động

2.4.1. Kiểm thử tuyến tính

2.4.2. Kiểm thử hướng dữ liệu

2.4.3. Kiểm thử bằng điều khiển từ khóa

2.5. Một số công cụ hỗ trợ kiểm thử tự động

3. CHƯƠNG 3: Giới thiệu Robot Framework

3.1. Giới thiệu Robot Framework

3.2. Các thư viện chuẩn của Robot Framework

3.3. Các thư viện mở rộng của Robot Framework

3.4. Tạo dữ liệu kiểm thử

3.5. Cú pháp dữ liệu kiểm thử

3.6. Các kiểu định dạng tệp được hỗ trợ

3.7. Các loại bảng dữ liệu kiểm thử

3.8. Các quy tắc phân tích dữ liệu

3.9. Tạo các ca kiểm thử

3.10. Để tạo các ca kiểm thử tốt

3.11. Cách đặt tên

3.12. Tài liệu hướng dẫn

3.13. Từ khóa người dùng và các biến

4. CHƯƠNG 4: ỨNG DỤNG ROBOT FRAMEWORK VÀO KIỂM THỬ TRANG WEB

4.1. Mô tả bài toán

4.2. Kiểm thử chức năng đăng nhập

4.3. Kịch bản kiểm thử xây dựng dựa trên từ khóa thông thường

4.4. Kịch bản kiểm thử xây dựng theo hướng dữ liệu

4.5. Kiểm thử chức năng báo cáo

4.6. Kiểm thử chức năng đăng xuất

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Tổng Quan Robot Framework và Kiểm Thử Chấp Nhận Tự Động

Robot Framework là một khung kiểm thử tự động mã nguồn mở, được tài trợ bởi Nokia Siemens Networks, bắt đầu phát triển năm 2005 và được cấp phép Apache 2. Robot Framework sử dụng phương pháp kiểm thử dựa trên từ khóa, kiểm thử hướng dữ liệu, thích hợp cho cả kiểm thử tự động thông thường và kiểm thử chấp nhận tự động. Nó cho phép sử dụng đơn giản bảng cú pháp để tạo ra các trường hợp kiểm thử một cách thống nhất, có khả năng sinh ra từ khóa ở mức cao hơn từ những từ khóa đang tồn tại. Với Robot Framework, các kết quả báo cáo và các bản ghi được định dạng HTML thuận tiện cho việc lập báo cáo. Nó cung cấp một thư viện API để kiểm thử viên tạo thêm các thư viện kiểm thử với Python hoặc Java. Nó cũng cung cấp một giao diện dòng lệnh và một tập tin đầu ra định dạng XML để tích hợp vào cơ sở hạ tầng hiện có của hệ thống. Robot Framework cũng hỗ trợ cho sinh các trường hợp kiểm thử hướng dữ liệu. Nó cũng được xây dựng hỗ trợ cho các biến, đặc biệt là thực hành kiểm thử trong các môi trường khác nhau, kiểm thử các công nghệ khác nhau như Web GUI, các ứng dụng Swing, và TCP/IP dựa trên các giao thức độc quyền. Thực tế, Robot Framework không làm bất kỳ hoạt động kiểm tra cụ thể nào. Thay vào đó, nó hoạt động như một front end sử dụng các thư viện như Selenium để thực hiện. Robot Framework và Selenium là một sự kết hợp tốt cho kiểm thử ứng dụng web. Công cụ cung cấp chức năng gắn thẻ để phân loại và chọn trường hợp kiểm thử được thực hiện. Robot Framework còn cho phép thiết lập (setup) và dọn dẹp (teardown) ở mức ca kiểm thử (test-case) và ở mức bộ kiểm thử (test-suite). Việc hỗ trợ kiến trúc mô-đun giúp sinh ra các bài kiểm thử cho các ứng dụng với nhiều giao diện khác nhau. Robot Framework có thể kiểm thử các ứng dụng viết bằng các ngôn ngữ lập trình khác nhau.Kiến trúc mô đun ở mức cao được thể hiện ở Hình 3. Các tập tin trong RobotFramework được sắp xếp dưới dạng các bảng. Các bảng được định dạng linh hoạt, có thể sử dụng giá trị phân tách bằng tab (TSV), html, ReStructured (text reST), hoặc plain text. Trong một tập tin kiểm thử có thể có bốn bảng: TestCases, Variables, Keywords, Settings. Trong đó bảng TestCases là bảng bắt buộc, nó chứa tất cả các ca kiểm thử bạn đang muốn thực hiện.

1.1. Kiến trúc và Cấu trúc File trong Robot Framework

Kiến trúc của Robot Framework cho phép kiểm thử các ứng dụng được viết bằng nhiều ngôn ngữ lập trình khác nhau. Các file trong Robot Framework được sắp xếp dưới dạng các bảng. Các bảng này có thể được định dạng linh hoạt bằng HTML, TSV (giá trị phân tách bằng tab), ReStructuredText hoặc plain text. Một file kiểm thử có thể chứa 4 loại bảng: TestCases, Variables, Keywords và Settings. Bảng TestCases là bắt buộc, chứa các ca kiểm thử cần thực hiện. Bảng Settings dùng để nhập khẩu các thư viện kiểm thử, các file tài nguyên và các file biến. Bảng Variable dùng để định nghĩa các biến có thể sử dụng ở bất kỳ đâu trong dữ liệu kiểm thử. Bảng Keyword dùng để tạo các từ khóa ở mức người dùng từ những từ khóa ở mức thấp hơn đã tồn tại.

1.2. Ưu điểm và Hạn chế của Robot Framework

Robot Framework có nhiều ưu điểm như là một framework mã nguồn mở, hỗ trợ kiểm thử dựa trên từ khóakiểm thử hướng dữ liệu, dễ sử dụng và có khả năng mở rộng cao. Nó cũng cung cấp các báo cáo và bản ghi ở định dạng HTML dễ đọc. Tuy nhiên, Robot Framework cũng có một số hạn chế. Ví dụ, nó yêu cầu người dùng phải có kiến thức về Python hoặc Java để tạo ra các thư viện kiểm thử tùy chỉnh. Ngoài ra, việc thiết lập và cấu hình Robot Framework có thể phức tạp đối với người mới bắt đầu.

II. Hướng Dẫn Chi Tiết Thư Viện Chuẩn của Robot Framework

Một trong những điểm mạnh của Robot Framwork là nó có một bộ thư viện rất mạnh cho phép người lập trình sử dụng để xây dựng các kịch bản kiểm thử. Một số thư viện chuẩn được xây dựng sẵn trong Robot Framework. Khi cài đặt Robot Framework, người dùng có thể sử dụng các từ khóa có trong các thư viện chuẩn này để kiểm thử mà không cần xây dựng. Các thư viện đó là: Builtln, Collections, DateTime, Dialogs, OperatingSystem, Process, Remote, Screenshot, String, Telnet, XML. Ví dụ, Builtln là một thư viện chuẩn, cung cấp tập hợp các từ khóa chung chung cần thiết thường xuyên sử dụng. Thư viện này được nhập tự động,vì vậy, nó luôn có sẵn. Một số từ khóa được cung cấp bởi thư viện như từ khóa dùng để kiểm tra, xác minh (Should Be Equal, Should Contain), từ khóa dùng chuyển đổi (Convert To Integer) cho các mục đích khác nhau (Log, Sleep, Run Keyword If, Set Global Variable).

2.1. Sử dụng Thư Viện BuiltIn và Collections trong Kiểm Thử

Thư viện BuiltIn cung cấp các từ khóa cơ bản như kiểm tra giá trị (Should Be Equal), kiểm tra sự tồn tại (Should Contain), chuyển đổi kiểu dữ liệu (Convert To Integer), và các chức năng khác như ghi log (Log), tạm dừng thực thi (Sleep) và điều khiển luồng (Run Keyword If). Thư viện Collections cung cấp các từ khóa để thao tác với danh sách và từ điển trong Python, như thêm phần tử vào danh sách (Append To List), lấy giá trị từ từ điển (Get From Dictionary) và kiểm tra nội dung (Lists Should Be Equal, Dictionary Should Contain Value).

2.2. Thư Viện OperatingSystem và Process Tương Tác Hệ Thống

Thư viện OperatingSystem cung cấp các từ khóa để tương tác với hệ điều hành, như tạo và xóa file (Create File, Remove Directory), kiểm tra sự tồn tại của file (File Should Exist), điều khiển biến môi trường (Set Environment Variable) và thực thi các lệnh (Run). Thư viện Process hỗ trợ quản lý các tiến trình đang chạy, như chạy tiến trình (Run Process), bắt đầu tiến trình (Start Process), chờ tiến trình hoàn thành (Wait For Process) và dừng tiến trình (Terminate Process).

2.3. Thư Viện String và XML Xử Lý Chuỗi và File XML

Thư viện String cung cấp các từ khóa để thao tác và xác minh chuỗi, như thay thế chuỗi (Replace String Using Regexp) và tách chuỗi (Split To Lines). Thư viện XML cung cấp các từ khóa để tạo, sửa và xác minh file XML, như tạo nút, sửa thuộc tính, đảm bảo tính đúng đắn của cấu trúc XML.

III. Các Thư Viện Mở Rộng và Cách Sử Dụng với Robot Framework

Ngoài các thư viện chuẩn có sẵn khi cài đặt Robot Framework, một số thư viện mở rộng khác cần được cài đặt mới sử dụng được. SeleniumLibrary là thư viện kiểm thử tự động của Robot Framework có sử dụng công cụ kiểm thử web Selenium. Thư viện là một sự kết hợp mạnh mẽ của cú pháp dữ liệu kiểm thử đơn giản và hỗ trợ cho các trình duyệt khác nhau. Thư viện sử dụng công cụ Selenium Remote Control để điều khiển kiểm soát một trình duyệt web. Nó làm việc trong hầu hết các trình duyệt hiện đại như Firefox, Google Chrome sử dụng ngôn ngữ Python. Trước khi thực hiện các bài kiểm thử có sử dụng thư viện SeleniumLibrary thì lệnh Selenium Server phải được thực hiện trước. Để thực hiện lệnh này có thể sử dụng từ khóa Start Selenium Server. Thêm nữa, từ khóa Open Browser phải được sử dụng để mở trình duyệt ở địa chỉ mong muốn trước bất kỳ từ khóa nào của thư viện được sử dụng. Tất cả mọi từ khóa của thư viện cần tìm một phần tử trên trang đều cần một đối số để định vị, thường là trường id.

3.1. SeleniumLibrary Tự Động Hóa Kiểm Thử Web với Robot Framework

SeleniumLibrary là một thư viện mạnh mẽ cho phép kiểm thử các ứng dụng web sử dụng Robot Framework. Nó sử dụng Selenium WebDriver để điều khiển trình duyệt và thực hiện các thao tác như mở trang web (Open Browser), nhập liệu vào các trường (Input Text), click vào button (Click Button), và xác minh nội dung trang (Page Should Contain). Trước khi sử dụng SeleniumLibrary, cần cài đặt Selenium WebDriver và khởi động Selenium Server.

3.2. AndroidLibrary Kiểm Thử Ứng Dụng Android Tự Động

AndroidLibrary là một thư viện của Robot Framework dùng cho tất cả các nhu cầu tự động hóa của Android. Nó sử dụng Calabash Android để giao tiếp với các ứng dụng được trang bị Android tương tự như làm thế nào để WebDriver Selenium giao tiếp được với một trình duyệt web. Các từ khóa thư viện cung cấp như Capture Screenshot, Connect To Testserver, Install Application, Press Menu Button, Screen Should Contain, Screen Should Not Contain, Scroll Down, Scroll Up, Send Key, Set Basic Auth, Set Device Endpoint, Set Device Url, Set Text, Set Webview Text, Start Emulator, Start Testserver, Start Testserver With Apk, Stop Emulator, Stop Testserver, Swipe Left, Swipe Right, Touch Button, Touch Image Button, Touch Position, Touch Text, Touch View, Touch Webview Element, Uninstall Application, Wait For Device, Webview Scroll To, Webview Should Contain.

IV. Tạo và Quản Lý Dữ Liệu Kiểm Thử Hiệu Quả trong Robot

Phần này trình bày toàn bộ cú pháp dữ liệu kiểm thử của Robot Framework. Các phần sau sẽ giải thích làm thế nào để thực sự tạo ra trường hợp kiểm thử, các bộ kiểm thử. Cấu trúc phân cấp để bố trí các ca kiểm thử được xây dựng như sau. Các ca kiểm thử được tạo ra trong các tệp ca kiểm thử (Test case). Một tệp ca kiểm thử tự động tạo ra một bộ kiểm thử có chứa các ca kiểm thử tệp đó. Một thư mục chứa các tệp ca kiểm thử tạo thành một bộ dữ liệu kiểm thử ở mức cao. Ví dụ thư mục bộ kiểm thử có các bộ được tạo ra từ các tập tin ca kiểm thử như bộ kiểm thử con của nó. Một thư mục bộ kiểm thử cũng có thể chứa các thư mục bộ kiểm thử khác. Cấu trúc phân cấp này có thể lồng nhau ở mức sau hơn nếu cần. Thư mục bộ kiểm thử có thể có một tập tin khởi tạo đặc biệt. Thêm nữa, các thư viện kiểm thử chứa các từ khóa ở mức thấp. Tệp tài nguyên chứa các biến và từ khóa người dùng ở mức cao. Các tệp biến cung cấp cách linh hoạt để tạo ra các biến hơn tệp tài nguyên.

4.1. Cấu Trúc Phân Cấp và Định Dạng File Dữ Liệu Kiểm Thử

Dữ liệu kiểm thử trong Robot Framework được tổ chức theo cấu trúc phân cấp. Các ca kiểm thử được tạo trong các file ca kiểm thử. Một file ca kiểm thử tự động tạo ra một bộ kiểm thử. Một thư mục chứa các file ca kiểm thử tạo thành một bộ dữ liệu kiểm thử ở mức cao. Dữ liệu kiểm thử có thể được định nghĩa trong các định dạng khác nhau như HTML, TSV, plain text hoặc reStructuredText. Định dạng plain text thường được khuyến khích vì dễ soạn thảo và chỉnh sửa bằng bất kỳ trình soạn thảo văn bản nào.

4.2. Các Loại Bảng Dữ Liệu Kiểm Thử Settings Variables Test Cases Keywords

Dữ liệu kiểm thử được cấu trúc trong bốn loại bảng: Setting, Variable, Test case và Keyword. Bảng Setting dùng nhập khẩu các thư viện kiểm thử, các tập tin tài nguyên, các tập tin biến, dùng để định nghĩa các siêu dữ liệu cho các bộ kiểm thử và các trường hợp kiểm thử. Bảng Variable dùng để định nghĩa các biến mà có thể sử dụng ở bất cứ nơi đâu trong dữ liệu kiểm thử. Bảng Test case dùng để tạo ra các ca kiểm thử từ những từ khóa có sẵn trong các thư viện hoặc do người dùng tạo ra. Bảng Keyword dùng để tạo các từ khóa ở mức người dùng từ những từ khóa ở mức thấp hơn đã tồn tại.

4.3. Quy Tắc Phân Tích và Xử Lý Dữ Liệu trong Robot Framework

Khi phân tích các dữ liệu kiểm thử , Robot Framework sẽ bỏ qua các dữ liệu sau: Tất cả các bảng mà không bắt đầu với một tên bảng được ghi nhận ở ô đầu tiên. Mọi phần tử trên hàng đầu tiên của một bảng ngoài trừ phần tử ở ô đầu, tất cả các dữ liệu trước khi bảng đầu tiên được nhận dạng. Nó cũng bỏ qua tất cả các dòng trống, các ô trống ở cuối mỗi hàng, tất cả những dấu xổ ngược (), tất cả các ký tự theo sau kí tự thăng (#) và tất cả các dữ liệu định dạng HTML không phải là bảng trong dữ liệu kiểm thử. Robot Khung xử lý khoảng trắng theo cách giống như xử lý trong mã nguồn HTML. Dòng mới, dấu xuống dòng, và các tab được chuyển đổi thành khoảng trắng. Hàng đầu và dấu khoảng trắng trong tất cả các ô đều được bỏ qua.

V. Ứng Dụng Robot Framework Kiểm Thử Chức Năng Đăng Nhập Trang Web

Trong chương này tôi sẽ mô tả việc ứng dụng Robot Framework vào thực tế. Phần mềm tôi áp dụng là phần mềm trên nền web đang chạy ở trang web http://truongnha. Trong khuôn khổ luận văn này, tôi sẽ kiểm thử chức năng đăng nhập, báo cáo và đăng xuất với hệ thống http://truongnha. Chức năng đăng nhập của hệ thống cần đảm bảo những điều sau. Người dùng gõ đúng vào hai trường tên đăng nhập và mật khẩu sau đó nhấn đăng nhập thì đăng nhập vào hệ thống thành công. Nếu người dùng gõ tên đăng nhập hoặc mật khẩu sai hoặc hai trường để trống thì đăng nhập thất bại. Chức năng báo cáo, sẽ kiểm tra chức năng báo cáo sổ gọi tên ghi điểm, và báo cáo phiếu báo điểm. Người dùng có khả năng vào được các mục này để tải dữ liệu về. Cuối cùng là chức năng đăng xuất, khi không muốn làm việc với hệ thống ứng dụng nữa, người dùng phải có khả năng thoát ra khỏi ứng dụng. Thực hiện kiểm thử trên Robot Framework, cùng với thư viện mở rộng của nó SeleniumLibrary và công cụ hỗ trợ RIDE.

5.1. Xây Dựng Kịch Bản Kiểm Thử Đăng Nhập Dựa trên Từ Khóa

Xây dựng bốn ca kiểm thử trong tập tin LoginTest. Các ca kiểm thử thực hiện các công việc sau. Thứ nhất, người dùng gõ tên đăng nhập đúng và mật khẩu đúng sau đó nháy “Đăng nhập” thì hệ thống phải đăng nhập thành công. Thứ hai, người dùng gõ tên đăng nhập sai và mật khẩu đúng sau đó nháy “Đăng nhập” thì hệ thống phải đăng nhập không thành công. Thứ ba, người dùng gõ tên đăng nhập đúng và mật khẩu sai sau đó nháy “Đăng nhập” thì hệ thống cũng phải đăng nhập không thành công. Cuối cùng, người dùng để trống tên đăng nhập và mật khẩu sau đó nháy “Đăng nhập” thì hệ thống thất bại.

5.2. Kiểm Thử Chức Năng Báo Cáo và Đăng Xuất với Robot Framework

Ngoài chức năng đăng nhập, Robot Framework cũng có thể được sử dụng để kiểm thử các chức năng khác như báo cáo và đăng xuất. Chức năng báo cáo cần đảm bảo người dùng có thể truy cập và tải dữ liệu từ các báo cáo như sổ gọi tên ghi điểm và phiếu báo điểm. Chức năng đăng xuất cần đảm bảo người dùng có thể thoát ra khỏi ứng dụng khi không muốn làm việc nữa.

VI. Tối Ưu và Tổ Chức Mã Kiểm Thử Robot Framework Để Tái Sử Dụng

Các biến thường phức tạp hoặc đóng gói có giá trị lâu dài, dùng để truyền thông tin từ dòng lệnh hoặc truyền thông tin giữa các từ khóa. Về cách đặt tên biến, tên biến cần đặt rõ ràng nhưng không quá dài, có thể sử dụng các ý kiến, nhận xét (comment) trong bảng Variables để hiểu rõ hơn. Tên biến nên được đặt theo quy tắc nhất định. Biến đặt bằng các kí tự in thường dùng cho biến địa phương chỉ có sẵn bên trong các ca kiểm thử nhất định hoặc từ khóa. Biến đặt bằng các kí tự in hoa dùng cho biến toàn cục, hay ở mức bộ kiểm thử, mức kiểm thử. Cả khoảng trống và dấu gạch dưới được sử dụng cho việc tách từ. Nên liệt kê các biến mà được thiết lập tự động trong bảng Variables.

6.1. Sử Dụng Từ Khóa Người Dùng và Biến để Tái Sử Dụng Mã

Từ khóa người dùng nên dễ hiểu, các quy tắc giống như kiểm thử luồng dữ liệu, các mức trừu tượng khác nhau. Nó có thể chứa các cấu trúc lập trình logic như vòng lặp, cấu trúc if/else, đặc biệt là các từ khóa ở mức thấp, nhưng những logic phức tạp này nằm ở các thư viện xây dựng sẵn hơn là ở mức người dùng. Các biến thường phức tạp hoặc đóng gói có giá trị lâu dài, dùng để truyền thông tin từ dòng lệnh hoặc truyền thông tin giữa các từ khóa.

6.2. Tổ Chức Mã Kiểm Thử theo Thư Mục để Dễ Quản Lý

Để tổ chức mã kiểm thử một cách dễ dàng và tái sử dụng, các ca kiểm thử có thể được nhóm lại trong các thư mục. Mỗi thư mục có thể chứa một file init.txt để định nghĩa các thiết lập chung cho tất cả các ca kiểm thử trong thư mục đó. Các file tài nguyên chứa các từ khóa người dùng và biến có thể được chia sẻ giữa các thư mục bằng cách sử dụng từ khóa Resource trong file init.txt.

24/09/2025

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

phần mở đầu. Chƣơng này trình bày tổng quan tình trạng phát triển phần mềm, đảm bảo chất lƣợng phần mềm hiện nay ở Việt Nam. Giới thiệu mục tiêu và nội dung trong luận văn. Chƣơng hai là cơ sở lý thuyết về kiểm thử.

Chƣơng này sẽ nêu lên các khái niệm về kiểm thử chấp nhận, kiểm thử chấp nhận tự động. Chƣơng sẽ trình bày các phƣơng pháp kiểm thử chấp nhận hiện nay. Đồng thời, cũng giới thiệu một số các công cụ hỗ trợ kiểm thử tự động. Chƣơng ba giới thiệu cơ bản Robot Framework.

Chƣơng sẽ đi tìm hiểu sâu về Robot Framework, các thƣ viện chuẩn cùng một số các thƣ viện mở rộng của Robot Framework. Chƣơng này cũng hƣớng dẫn cách tạo dữ liệu kiểm thử: cú pháp, kiểu định dạng tệp hỗ trợ, bảng dữ liệu kiểm thử, quy tắc phân tích dữ liệu, sinh các ca kiểm thử và các lƣu ý để tạo đƣợc ca kiểm thử tốt. Chƣơng cuối sẽ ứng dụng Robot Framework vào kiểm thử trang web để minh họa rõ hơn những tính năng mà Robot Framework cung cấp. Trang web đƣợc kiểm thử là truongnha.

Ứng dụng sẽ xây dựng các ca kiểm thử TIEU LUAN MOI download : skknchat@gmail.com 3 để kiểm tra chức năng đăng nhập vào hệ thống. Các ca kiểm thử đƣợc xây dựng trong một tập tin hoặc trong một thƣ mục. Phần kết luận sẽ là một vài nhận xét về Robot Framework, các kết quả luận văn đạt đƣợc và hƣớng nghiên cứu tiếp của luận văn. TIEU LUAN MOI download : skknchat@gmail.com 4 CHƯƠNG 2.

Kiểm thử phần mềm Kiểm thử phần mềm là là một phần trong tiến trình đảm đảo chất lƣợng phần mềm. Kiểm thử phần mềm là việctiến hành kiểm tra để cung cấp cho các bên liên quan thông tin về chất lƣợng của sản phẩm phần mềm đƣợc kiểm thử. Kiểm thử có thể cung cấp cho doanh nghiệp một quan điểm, một cách nhìn độc lập về phần mềm để từ đó cho phép đánh giá và thấu hiểu đƣợc những rủi ro trong quá trình triển khai phần mềm. Mục đích chính của kiểm thử là phát hiện ra các lỗi phần mềm để từ đó khắc phục và sửa chữa.

Việc kiểm thử không thể khẳng định đƣợc rằng các chức năng của sản phẩm đúng trong mọi điều kiện, mà chỉ có thể khẳng định rằng nó không hoạt động đúng trong những điều kiện cụ thể[4]. Phạm vi của kiểm thử phần mềm thƣờng bao gồm việc kiểm tra mã, thực hiện các mã trong môi trƣờng và điều kiện khác nhau, và việc kiểm thử các khía cạnh của mã: nó có làm đúng nhiệm vụ của nó hay không, và nó có làm những gì cần phải làm hay không. Trong môi trƣờng phát triển phần mềm hiện nay, một đội kiểm thử thƣờng tách biệt với đội phát triển. Các thành viên trong đội kiểm thử giữ các vai trò khác nhau.

Các thông tin thu đƣợc từ kiểm thử có thể đƣợc sử dụng để điều chỉnh quá trình phát triển phần mềm[5]. Kiểm thử phần mềm đƣợc phân làm kiểm thử tĩnh và kiểm thử động. Kiểm thử tĩnh liên quan đến việc kiểm chứng trong khi kiểm thử động liên quan đến việc xác nhận. Các phƣơng pháp kiểm thử nhƣ kiểm thử hộp trắng, kiểm thử hộp đen, kiểm thử hộp xám.

Kiểm thử phần mềm có các loại hình kiểm thử: Kiểm thử cài đặt, kiểm thử khả năng tƣơng thích, kiểm thử hồi quy, kiểm thử mức chấp nhận, kiểm thử chức năng hoặc kiểm thử phi chức năng v. Kiểm thử phần mềm cũng đƣợc chia ra các mức kiểm thử theo vị trí chúng đƣợc thêm vào trong quy trình phát triển phần mềm, hoặc theo mức độ đặc hiệu của kiểm thử. Có thể phân kiểm thử phần mềm theo các mức chính sau: kiểm thử đơn vị, kiểm thử tích hợp, kiểm thử hệ thống, kiểm thử chấp nhận. TIEU LUAN MOI download : skknchat@gmail.

Kiểm thử chấp nhận Một trong những vấn đề khó khăn nhất hiện nay trong phát triển phần mềm là giao tiếp. Một định nghĩa về mỗi yêu cầu sản phẩm là cần thiết để cải thiện giao tiếp giữa khách hàng, quản lý dự án, các nhà phân tích và phát triển phần mềm. Kiểm thử chấp nhận là một phần quan trọng trong kiểm thử để đảm bảo phần mềm đáp ứng đúng yêu cầu khách hàng. Kiểm thử chấp nhận là kiểm thử chính thức được tiến hành để xác định có hay không một hệ thống đáp ứng các tiêu chuẩn chấp nhận nó (các tiêu chuẩn hệ thống phải đáp ứng để được chấp nhận bởi khách hàng) và cho phép khách hàng xác định có hay không chấp nhận hệ thống[6].

Kiểm thử chấp nhận đƣợc dùng để xác minh một yêu cầu đã hoàn tất. Kiểm thử chấp nhận thƣờng đƣợc thực hiện bởi khách hàng, ngƣời dùng hệ thống hoặc các bên liên quan khác. Mục đích của kiểm thử chấp nhận không đặt nặng việc tìm kiếm lỗi mà nhằm xác nhận lại phần mềm thỏa mãn tất cả yêu cầu chức năng của khách hàng và khách hàng chấp nhận sản phẩm. Một yêu cầu ngƣời dùng đƣợc coi là hoàn thành khi nó vƣợt qua đƣợc bài kiểm thử chấp nhận.

Kiểm thử chấp nhận đƣợc thực hiện ở thời điểm trƣớc khi thực hiện kiểm thử tích hợp hoặc hồi quy, hoặc đƣợc thực hiện trong quá trình chuyển giao giữa hai pha của quy trình phát triển phần mềm. Mỗi một kiểm thử chấp nhận đại diện cho một số kết quả mong đợi từ hệ thống. Kiểm thử chấp nhận sử dụng kỹ thuật kiểm thử hộp đen và đƣợc tiến hành thông qua hai loại là kiểm thử Alpha và kiểm thử Beta. Kiểm thử Alpha là kiểm thử hoạt động chức năng thực tế hoặc giả lập do ngƣời dùng, khách hàng tiềm năng hoặc một nhóm kiểm thử viên độc lập thực hiện tại nơi sản xuất phần mềm.

Kiểm thử Alpha thƣờng đƣợc sử dụng cho phần mềm đại trà (đóng gói sẵn để bán) nhƣ là một hình thức kiểm thử mức chấp nhận nội bộ trƣớc khi phần mềm chính thức đi vào giai đoạn kiểm thử Beta. Kiểm thử Beta đƣợc đƣa ra sau khi kiểm thử Alpha và có thể đƣợc coi là một hình thức mở rộng của kiểm thử mức chấp nhận của ngƣời dùng. Các phiên bản của phần mềm, gọi là phiên bản beta, đƣợc phát hành cho một đối tƣợng hạn chế bên ngoài của nhóm lập trình. Phần mềm này đƣợc phát hành cho nhiều nhóm ngƣời dùng để kiểm thử nhiều hơn nữa và nó có thể đảm bảo sản phẩm có ít thiếu sót và lỗi.

Đôi khi, các phiên bản beta đƣợc phát hành TIEU LUAN MOI download : skknchat@gmail.com 6 rộng rãi để tăng phạm vi phản hồi thông tin từ một số lƣợng tối ta ngƣời dùng trong tƣơng lai. Kiểm thử chấp nhận tự động Kiểm thử tự động là quá trình thực hiện một cách tự động các bƣớc trong một kịch bản kiểm thử. Kiểm thử tự động bằng một công cụ nhằm rút ngắn thời gian kiểm thử. Mục đích của kiểm thử tự động làm giảm thiểu thời gian, công sức và kinh phí, tăng độ tin cậy, tăng tính hiệu quả và giảm sự nhàm chán cho ngƣời kiểm thử trong quá trình kiểm thử sản phẩm phần mềm.

Với sự phức tạp ngày càng gia tăng của các phần mềm, kiểm thử chấp nhận càng trở lên quan trọng. Kiểm thử chấp nhận bằng tay tốn nhiều thời gian, dễ mắc lỗi và gây nhàm chán. Vì vậy, kiểm thử chấp nhận nên đƣợc tự động hóa[7]. Bằng tự động hóa các bài kiểm thử chấp nhận đƣợc viết dƣới dạng code.

Các bài kiểm thử sau đó đƣợc chạy lặp đi lặp lại nhiều lần mà ít tốn kém, đƣợc thực hiện vào bất kỳ thời gian nào và bởi bất kỳ ai [8]. Có ba ƣu điểm chính để tự động hoá kiểm thử chấp nhận: Một là, các ca kiểm thử đƣợc thực hiện lặp đi lặp lại nhiều lần mang đến sự tự tin rằng thành phần mới đƣợc tích hợp vào hệ thống đã không phá vỡ hoặc làm mất ổn định bất cứ điều gì mà hệ thống trƣớc đó đã thực hiện đƣợc. Nó chỉ thực hiện đúng chức năng nó phải làm. Hai là, chạy lặp đi lặp lại nhiều lần các ca kiểm thử giúp hiểu đƣợc phần nào các chức năng mong muốn của hệ thống đã đƣợc đáp ứng theo yêu cầu.

Thứ ba, các ca kiểm thử chấp nhận tự động có thể tập hợp thành một bộ kiểm thử hồi quy. Kiểm thử hồi quy là lựa chọn kiểm thử lại một hệ thống hay một thành phần của hệ thống để xác minh rằng thay đổi đã không gây ra tác dụng ngoài ý muốn và hệ thống hoặc một thành phần vẫn tuân thủ đúng với yêu cầu quy định của nó[6]. Tóm lại, kiểm thử chấp nhận tự động giúp tránh đƣợc một số lỗi khi thực hiện kiểm thử bằng tay, tiết kiệm chi phí, thời gian, không bị ảnh hƣởng của áp lực tiến độ dự án. Kiểm thử chấp nhận tự động mang lại nhiều lợi ích và đang rất đƣợc chú trọng trong các dự án phát triển phần mềm hiện nay đặc biệt là dự án Agile.

TIEU LUAN MOI download : skknchat@gmail. Một số kỹ thuật của khung kiểm thử chấp nhận tự động Một khung kiểm thử tự động [12] là một hệ thống tích hợp giúp ngƣời phát triển phần mềm dễ dàng tự động hóa các hoạt động kiểm thử. Hệ thống này tích hợp các thƣ viện chức năng, các nguồn dữ liệu kiểm thử, chi tiết đối tƣợng và các mô-đun tái sử dụng khác nhau. Các thành phần ở đây hoạt động nhƣ các khối xây dựng nhỏ mà cần phải đƣợc lắp ráp để đại diện cho một quy trình nghiệp vụ.

Các khungnày cung cấp các cơ sở của tự động hóa kiểm thử và đơn giản hóa các nỗ lực tự động. Một số kỹ thuật tự động hóa của các khung kiểm thử tự động đƣợc phân loại nhƣ sau. Kiểm thử tuyến tính Kiểm thử tuyến tính (Linear)[12]còn gọi là kiểm thử tuần tự là kiểm thử mà hành động kiểm thử đƣợc thực hiện tuần tự. Mã kiểm thử có thể đƣợc sinh ra bởi các công cụ ghi lại các hành động của ngƣời kiểm thử trên trình duyệt và lƣu chúng lại nhƣ một kịch bản kiểm thử.

Kiểm thử viên có thể sử dụng chính kịch bản này để kiểm thử hồi quy. Kiểm thử viên cũng có thể sửa trên chính kịch bản này để tạo ra các bài kiểm tra khác mà không tốn nhiều thời gian, công sức.1 dƣới đây là một minh họa. Hành động kiểm thử của việc đăng nhập vào trang http://truongnha.com/ đƣợc Selenium IDE tự động ghi lại và đƣợc đặt tên “Login”. Nhƣ vậy, kịch bản của một ca kiểm thử với tên “Login” đã đƣợc lƣu lại để dùng cho lần kiểm thử sau.

Kiểm thử viên không cần phải kiểm thử bằng tay chức năng đăng nhập của trang web nữa, hoặc có thể sửa trên chính kịch bản này cho lần kiểm thử sau.

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