Kế hoạch kiểm thử

Một phần của tài liệu (TIỂU LUẬN) báo cáo kiểm thử phần mềm đề tài kiểm thử chức năng website với selenium webdriver (Trang 29)

Nhiệm vụ

AI. Chiến lược kiểm thử 1. Các loại hình kiểm thử

1.1. Kiểm thử chức năng

Mục đích của test chức năng là tập trung vào các yêu cầu test có thể được lưu vết trực tiếp trong các chức năng và qui tắc nghiệp vụ.

Mục tiêu của kiểu test này là kiểm tra tính đúng đắn của các dữ liệu, qui trình và báo cáo cũng như việc thực hiện đúng những qui tắc nghiệp vụ.

Mục đích test:

Điều kiện hồn thành:

Chú ý

2. Phương pháp kiểm thử

2.1. Kiểm thử hộp đen

Kỹ thuật kiểm thử hộp đen xem chương trình như là một “hộp đen”, trong đó người kiểm thử khơng quan tâm đến cấu trúc bên trong của chương trình mà chỉ quan tâm tới dữ liệu đầu vào và đầu ra sau khi được xử lý.

Mục đích của chiến lược này là tìm kiếm các trường hợp mà chương trình khơng thực hiện theo các đặc tả của nó.

Ưu, nhược điểm: Kiểm thử hộp đen có ưu điểm là có thể đánh giá phần mềm một cách khách quan, người kiểm thử có thể khơng hiểu biết về mã lệnh và có thể tìm ra các lỗi mà nhân viên phát triển khơng tìm ra.Song kiểm thử hộp đen lại có nhược điểm là thăm dị mù, do nhân viên kiểm thử khơng biết các chương trình thực sự được xây dựng như thế nào,dẫn đến trường hợp nếu kiểm thử hộp đen phải viết rất nhiều trường hợp kiểm thử trong khi chỉ cần viết một ca kiểm thử duy nhất để có thể kiểm tra được.

2.2. Kiểm thử hộp trắng

Kỹ thuật kiểm thử hộp trắng hay còn gọi là “kiểm thử cấu trúc” là kỹ thuật kiểm thử cho phép khảo sát kiến trúc bên trong của chương trình. Kiểm thử hộp trắng là chiến lược được thực hiện trên ba trong sáu loại kiểm thử cơ bản trong các giai đoạn kiểm thử phần mềm là: kiểm thử đơn vị, kiểm thử tích hợp và kiểm thử hồi quy. Mục tiêu của kiểm thử hộp trắng là kiểm thử bao phủ nhiều nhất các câu lệnh, điểm quyết định và các rẽ nhánh trong mã nguồn nếu có thể.

BI. Ứng dụng kiểm thử trên Web 1. chức năng đăng nhập

1.1 bao phủ câu lệnh

1.2 Đồ thị lưu trình Độ phức tạp của chu trình:C=7 1-2-3-16 1-2-3-4-5-6-16 1-2-3-4-5-7-8-16 1-2-3-4-5-7-9-10-16 1-2-3-4-5-7-9-11-12-16 1-2-3-4-5-7-9-11-13-14-16 1-2-3-4-5-7-9-11-13-15-16

1.3 Đồ thị dịng

2. Chức năng đăng ký

2.1 bao phủ câu lệnh

Độ phức tạp của chu trình:C=19 1-2-3-32 1-2-3-4-5-12-32 1-2-3-4-5-6-12-32 1-2-3-4-5-6-7-12-32 1-2-3-4-5-6-7-8-12-32 1-2-3-4-5-6-7-8-9-12-32 1-2-3-4-5-6-7-8-9-10-12-32 1-2-3-4-5-6-7-8-9-10-11-12-32 1-2-3-4-5-6-7-8-9-10-11-13-14-32 1-2-3-4-5-6-7-8-9-10-11-13-15-16-32 1-2-3-4-5-6-7-8-9-10-11-13-15-17-19-32 1-2-3-4-5-6-7-8-9-10-11-13-15-17-18-19-32 1-2-3-4-5-6-7-8-9-10-11-13-15-17-18-20-22-32 1-2-3-4-5-6-7-8-9-10-11-13-15-17-18-20-21-22-32 1-2-3-4-5-6-7-8-9-10-11-13-15-17-18-20-21-23-24-32 1-2-3-4-5-6-7-8-9-10-11-13-15-17-18-20-21-23-25-26-32 1-2-3-4-5-6-7-8-9-10-11-13-15-17-18-20-21-23-25-27-28-32 1-2-3-4-5-6-7-8-9-10-11-13-15-17-18-20-21-23-25-27-29-30-32 1-2-3-4-5-6-7-8-9-10-11-13-15-17-18-20-21-23-25-27-29-31-32

2.3 Đồ thị dòng

3. Ứng dụng web

3.1 Form đăng nhập

Mơ tả :

Màn hình đăng nhập gồm các thành phần:

- Textbox Tài khoản và mật khẩu cho phép người dùng nhập dữ liệu - Button Đăng nhập và Đăng ký cho phép người dùng click chọn

Mơ tả :

Màn hình đăng ký gồm các thành phần:

- Textbox Tài khoản,mật khẩu,họ và tên,ngày sinh,số điện thoại ,địa chỉ và email cho phép người dùng nhập dữ liệu

- Button Đăng ký cho phép người dùng click chọn

4. Xây dựng test case đăng nhập

Mô tả: các trường bắt buộc nhập không được bỏ trống

- Tài khoản nhập đúng là khi tồn tại trong csdl - Mật khẩu nhập đúng là khi tồn tại trong csdl  Sử dụng phương pháp bảng quyết định ta có

Condit ons

40 Hiện form Các ca kiểm thử Test case 1 2 3 4 5 6 7

5. Xây dựng test case đăng ký

Mô tả:

- Các trường bắt buộc nhập không được bỏ trống

- Tài khoản khơng chứa các kí tự đặc biệt là duy nhất và phải lớn hơn 6 kí tự,nhỏ hơn 20 kí tự

- Mật khẩu phải lớn hơn 6 kí tự,nhỏ hơn 20 kí tự

- Số điện thoại là số và từ 10-12 kí tự và đúng định dạng 09,08,02,016[2-9]

- Email phải đúng định dạng xxx@xxx.xxx khơng chứa kí tự đặc biệt và là duy nhất

Phân tích:

Áp dụng phương pháp phân vùng tương đương:

- Tài khoản phải chứa [6,20] ký tự chỉ gồm chữ và số: thực hiện nhập vào 5,21ký tự,rỗng

- Mật khẩu phải chứa [6,20] kí tự:thực hiện nhập vào 5,21 kí tự,rỗng - Nhập lại mật khẩu phải giống mật khẩu

- Số điện thoại phải từ [10,12] ký tự số ,đúng định dạng 09,08,02,016[2-9] : thực hiện nhập vào 9, 13 ký tự số,rỗng.

- Họ và tên không được rỗng - Địa chỉ không được rỗng

- Ngày sinh không được bỏ trống và đúng

Các lớp tương đương Tài khoản

- Tài khoản >=6 && <=20 hợp lệ - Tài khoản <6 không hợp lệ - Tài khoản >20 không hợp lệ - Tài khoản rỗng khơng hợp lệ

- Tài khoản có kí tự khơng phải số hoặc chữkhông hợp lệ

Mật khẩu - Mật khẩu >=6 && <=20 hợp lệ - Mật khẩu <6 không hợp lệ - Mật khẩu >20 không hợp lệ - Mật khẩu rỗng không hợp lệ Họ và tên - Họ và tên không rỗng hợp lệ - Họ và tên rỗngkhông hợp lệ Số điện thoại

- Số điện thoại >=10 && <=12  hợp lệ - Số điện thoại <10  không hợp lệ - Số điện thoại >12  khơng hợp lệ

- Số điện thoại chứa kí tự khơng phải số không hợp lệ - Số điện thoại rỗng không hợp lệ

Ngày sinh

- Ngày [1-30] và tháng 4,6,9,11 hợp lệ

- Ngày[1-28] và tháng 2 năm không nhuận hợp lệ - Ngày[1-29] và tháng 2 năm nhuận hợp lệ

- Ngày 31 và tháng 4,6,9,11không hợp lệ

- Ngày 29 và tháng 2 năm không nhuậnkhông hợp lệ - Ngày 30,31 và tháng 2 năm nhuậnkhông hợp lệ - Ngày sinh bỏ trống không hợp lệ

Email

- Local-Part là chữ hoặc số hoặc các kí tự(+ - .) và kí tự nối là @ và server name có dạng xxx.xxx hợp lệ

- bỏ trống emailkhông hợp lệ - Thiếu Local-Part không hợp lệ - Thiếu @không hợp lệ

- Thiếu server namekhơng hợp lệ

- Local-Part chứa kí tự khơng phải chữ hoặc sốkhông hợp lệ - Server name sai định dạng xxx.xxxkhông hợp lệ

Áp dụng phương pháp phân vùng tương đương:

Điều kiện đầu vào

Số điện thoại

Họ và tên Địa chỉ Ngày sinh

44

6. Thực hiện test bằng selenium webdriver

6.1. Viết các kịch bản Đăng Nhập hệ thống website :

Các kịch bản Đăng Nhập bằng Selenium Webdriver

Kiểm thử bằng công cụ Selenium sử dụng @Test được sử dụng để nói

rằng các phương thức phía dưới là một testcase. Sau khi thực thi eclip

cung cấp cho ta hai đầu ra. Thứ nhất trong cửa sổ Console, và hai là trong cửa sổ TestNGResutls.

6.2. Viết các kịch bản Đăng Ký hệ thống website :

6.3. Dữ liệu đầu vào

6.4. Chi tiết kết quả

7. Báo cáo kết quảSTT STT

1 2

Đã test: 100%

Test thành công: 100%

IV: Kiểm thử hiệu năng web bán sáchA. Tìm hiểu cộng cụ Jmeter A. Tìm hiểu cộng cụ Jmeter

- Jmeter là công cụ để đo độ tải và performance của đối tượng, có thể sử dụng để test performance trên cả nguồn tĩnh và nguồn động, có thể kiểm tra độ tải và hiệu năng trên nhiều loại server khác nhau như: Web HTTP,

HTTPS, SOAP, Database via JDBC, LDAP, JMS, Mail – SMTP(S), POP3(S) and IMAP(S)…

- Jmeter là một mã nguồn mở được viết bằng java. Cha đẻ của JMeter là Stefano Mazzocchi sau đó Apache đã thiết kế lại để cải tiến hơn giao diện đồ họa cho người dùng và khả năng kiểm thử hướng chức năng.

1.Đặc trưng của Jmeter

- Nguồn mở, miễn phí

- Giao diện đơn giản, trực quan dễ sử dụng

- Có thể kiểm thử nhiều kiểu server: Web - HTTP, HTTPS, SOAP, Database - JDBC, LDAP, JMS, Mail - POP3,…

- Một cơng cụ độc lập có thể chạy trên nhiều nền tảng hệ điều hành khác nhau, trên Linux chỉ cần chạy bằng một shell scrip, trên Windows thì chỉ cần chạy một file .bat

- Đa luồng, giúp xử lý tạo nhiều request cùng một khoảng thời gian, xử lý các dữ liệu thu được một cách hiệu quả.

- Đặc tính mở rộng, có rất nhiều plugin được chia trẻ rộng rãi và miễn phí - Một cơng cụ tự động để kiểm thử hiệu năng và tính năng của ứng dụng.

Cách thức hoạt động: nó giả lập một nhóm người dùng gửi các yêu cầu tới một máy chủ, nhận và xử lý các response từ máy chủ và trình diễn các kết quả đó cho người dùng dưới dạng bảng biểu, đồ thị,cây…

1.1.Cài đặt

- Tải jmeter tại trang : http://jmeter.apache.org/download_jmeter.cgi, chọn download và tìm đến mục Binaries

- Giải nén vào bin chạy file ApacheJMeter.

B. Tiến hành kiểm thử hiệu năng cụ thể

1. Giả lập nhiều user truy cập vào trang web

Mở jmeter ,đặt tên cho Test Plan testtruycap.

Name : tên của thread group.

Number of Threads(users) : số lượng thread user mà ta muốn giả lập. Ramp-Up Period: cho biết thời gian để JMeter tạo ra tất cả những thread cần thiết.

Loop Count : số lần các thread được tạo thực hiện , nếu chọn forever sẽ thực hiện mãi mãi cho tới khi người dùng dừng lại bằng tay.

Cửa sổ Thread Group

Tạo request đến server : 1 thread(tương ứng 1 user) có thể tạo nhiều request http gửi lên server.

Cửa sổ Http Request Default Cửa sổ Http Request Default:

Protocol: giao thức được sử dụng HTTP hoặc HTTPS(bỏ trống mặc định là http)

Server Name or IP: điền vào domain hoặc IP của trang web cần kiểm tra Port Number: chỉ ra port của web, để trống sẽ là port mặc định 80

Method: phương thức để gửi các HTTP request, các phương thức ở đây bao gồm GET, POST, PUSH, HEAD,…

Path: đường dẫn nguồn để xử lý các Request

Parameters: biểu diễn danh sách các thơng số gửi cùng request, ta có thể thêm hoặc xóa các thơng số này.

Truy cập vào trang chủ

2. Kết quả

Tiến hành chạy và thu được kết quả :

2.1 Xem kết quả tổng hợp của tất các thread (Chuột phải vào Thread Group –> Add -> Listener –> Summary Report)

Label : tên request

# Sample : số request

Average : thời gian trung bình xử lý các request min : thời gian nhỏ nhất xử lý request

max : thời gian nhỏ nhất xử lý request

Std.Dev: độ lệch tiêu chuẩn mô tả mức độ phân tán của một tập dữ liệu đã

được lập thành bảng tần số

Error : phần trăm bị lỗi của các request(lỗi kết nối hoặc lỗi cho đầu ra

không mong muốn)

thoughput : số request/s của server

Kết quả tổng hợp của thread login

2.2 Xem kết quả của từng request trong kịch bản(Chuột phải Thread Group –> Add –> Listener –> View Results Tree)

Phần 3: KẾT LUẬN

Kiểm thử phần mềm là một hoạt động quan trọng trong đảm bảo chất lượng phần mềm để đảm bảo độ tin cậy và chất lượng của 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ể.

Trong thời gian tìm hiểu về kiểm thử phần mềm nói chung và cơng cụ kiểm thử Selenium , Jmeter nói riêng nhóm em đã hiểu được kiểm thử phần mềm là giai đoạn rất quan trọng trong quy trình sản xuất phần mềm .Sự áp dụng mới chỉ thực hiện trên một bài tốn nhỏ. Nhóm e xin trân thành cảm ơn thầy Nguyễn Đức Lưu đã giúp đỡ chúng em thực hiện tốt đề tài này.

Tài liệu tham khảo:

1. http://forums.testervn.com/

2. http://www.seleniumhq.org/docs/ 3. http://jmeter.apache.org/usermanual 4. https://viblo.asia

Một phần của tài liệu (TIỂU LUẬN) báo cáo kiểm thử phần mềm đề tài kiểm thử chức năng website với selenium webdriver (Trang 29)

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

(75 trang)
w