Tải bản đầy đủ (.docx) (41 trang)

kiểm thử phần mềm phân tích thiết kế

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (619.15 KB, 41 trang )

MỤC LỤC
Lời mở đầu

4

CHƯƠNG 1: CÔNG CỤ KIỂM THỬ TỰ ĐỘNG – SELENIUM IDE

5

1.Giới thiệu về công cụ

5

1.1. Đặc điểm

5

1.2. Các thành phần

6

1.3. Ngôn ngữ viết

7

2. Cách tổ chức chương trình chạy với cơng cụ

7

3. Áp dụng phần mềm kiểm thử với chức năng đăng nhập


8

CHƯƠNG 2. ĐẶC TẢ PHẦN MỀM KIỂM THỬ

12

1 . Giới thiệu về phần mềm

12

2. Đặc tả yêu cầu của phần mềm bán đồ nội thất

12

Đặc tả yêu cầu chức năng

12

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

12

2.1.1.Usecase chức năng đăng ký

12

2.1.2. Biểu đồ hoạt động đăng ký

13


2.1.3. Biểu đồ tuần tự

14

2.2. Chức năng đăng nhập

15

2.2.1. Use case đăng nhập

15

2.2.2. Biểu đồ hoạt động chức năng đăng nhập

16

2.2.3. Biểu đồ tuần tự chức năng đăng nhập

17

2.3. Chức năng đặt hàng

17
1


2.3.1. UseCase chức năng đặt hàng

18


2.3.2. Biểu đồ hoạt động chức năng đặt hàng

18

2.3.3. Biểu đồ tuần tự chức năng đặt hàng

19

CHƯƠNG 3. KẾ HOẠCH TEST

20

3.1. Mục đích của việc lập kế hoạch

20

3.2. Test Scope

20

3.3. Feature/non feature to be test

20

3.4. Test tool

21

3.5. Test environment


21

3.6. Test Resources Man-power

22

3.7. Features

23

3.8. Test milestones

23

3.9. Test products

23

CHƯƠNG 4: XÂY DỰNG VÀ THỰC HIỆN CÁC TESTCASE

24

1. Test chức năng đăng nhập

24

2. Test chức năng đăng ký

27


3. Test chức năng đặt hàng

33

CHƯƠNG 5: KẾT QUẢ TEST

38

1. Chức năng đăng nhập

38

2. Chức năng đăng xuất

38

3. Chức năng đặt hàng

38

2


DANH MỤC HÌNH ẢNH
Hình 1.1.Các thành phần của Selenium [1] ……………………………………7
Hình 1.2.Trang cài đặt Selenium IDE …………………………………………7
Hình 1.3.Giao diện ……………………………………………………………..8
Hình 1.4.Mở Selenium IDE ……………………………………………………8
Hình 1.5.Tạo Project SE ………………………………………………………..9
Hình 1.6. Nhập link website ……………………………………………………

10
Hình
1.7.Bắt
đầu
…………………………………………………….10
Hình
1.8.Kịch
bản
……………………………………………….11

recording
sau

recording

Hình
1.9.
Chạy
tự
động
bản …………………………………………...11

với

kịch

Hình 1.10.Kết quả test …………………………………………………………
11
Hình
2.1.

Usecase
chức
………………………………………….12
Hình
2.2.
Biểu
đồ
hoạt
……………………………….13

động

Hình
2.3.
Biểu
đồ
tuần
…………………………………..14

tự

Hình
2.4.
Usecase
chức
……………………………………….15
Hình
2.5.
Biểu
đồ

hoạt
…………………………….16

động

năng
chức
chức

đăng
năng

đăng



năng

đăng



năng
chức



đăng
năng


đăng

nhập
nhập

3


Hình 2.6. Biểu đồ tuần tự chức năng đăng nhập ………………………………
17
Hình 2.7. Usecase chức năng đặt hàng …………………………………………
18
Hình 2.8. Biểu đồ hoạt động chức năng đặt hàng ………………………………
18
Hình 2.9. Biểu đồ tuần tự chức năng đặt hàng …………………………………
19

4


Lời mở đầu
Trong ngành kỹ nghệ phần mềm, năm 1979, có một quy tắc nổi tiếng là:
“Trong một dự án lập trình điển hình, thì xấp xỉ 50% thời gian và hơn 50% tổng
chi phí được sử dụng trong kiểm thử các chương trình hay hệ thống đã được
phát triển”. Và cho đến nay, sau gần một phần 3 thế kỷ, quy tắc đó vẫn cịn
đúng. Đã có rất nhiều ngôn ngữ, hệ thống phát triển mới với các công cụ tích
hợp cho các lập trình viên sử dụng phát triển ngày càng linh động. Nhưng kiểm
thử vẫn đóng vai trò hết sức quan trọng trong bất kỳ dự án phát triển phần mềm
nào.
Các tác giả của cuốn sách nổi tiếng “The Art of Software Testing” – Nghệ

thuật kiểm thử phần mềm, Glenford J. Myers, Tom Badgett, Todd M. Thomas,
Corey Sandler đã khẳng định trong cuốn sách của mình rằng: “ Hầu hết các
thành phần quan trọng trong các thủ thuật của một nhà kiểm thử chương trình là
kiến thức về cách để viết các ca kiểm thử có hiệu quả”. Việc xây dựng các test –
case là một nhiệm vụ rất khó khăn. Để có thể xây dựng được tập các test – case
hữu ích cho kiểm thử, chúng ta cần rất nhiều kiến thức và kinh nghiệm.
Đó là những lý do thúc đẩy em thực hiện đề tài này. Mục đích của đề tài là
tìm hiểu những kiến thức tổng quan nhất về kiểm thử, và cách thiết kế test –
case trong kiểm thử phần mềm. Việc thực hiện đề tài sẽ giúp em tìm hiểu sâu
hơn và lĩnh vực rất hấp dẫn này, vận dụng được các kiến thức đã học để có thể
thiết kế được các test – case một cách có hiệu quả và áp dụng vào những bài
tốn thực tế.
Bản báo cáo được hồn thành dưới sự chỉ bảo tận tình của cơ giáo Lê Thị
Trang Linh, sự giúp đỡ nhiệt tình của các thầy cô trong bộ môn Kiểm thử
phần mềm, và tất cả các bạn. Em hi vọng sẽ nhận được sự đóng góp ý kiến của
các thầy cơ và các bạn để bản báo cáo được hồn thiện hơn. Những đóng góp
đó sẽ là kinh nghiệm quý báu cho em. Và từ đó, em có thể tiếp tục phát triển đề
tài này cho đợt thực tập tốt nghiệp và đồ án tốt nghiệp sắp tới, cũng như cho
công việc trong tương lai.
Em xin chân thành cảm ơn!
Sinh viên thực hiện
Mai Việt Cường

5


CHƯƠNG 1: CÔNG CỤ KIỂM THỬ TỰ ĐỘNG – SELENIUM
IDE
1.Giới thiệu về công cụ
1.1. Đặc điểm

 Selenium là công cụ kiểm thử tự động miễn phí (mã nguồn mở) dành cho
các ứng dụng web trên các trình duyệt và nền tảng khác nhau.
 Selenium tập trung vào việc tự động hoá các ứng dụng dựa trên web.
Kiểm thử được thực hiện bằng cách sử dụng công cụ Selenium thường
được gọi là Kiểm thử Selenium.
 Selenium không chỉ là một công cụ mà còn là một bộ phần mềm, mỗi bộ
đều đáp ứng nhu cầu kiểm tra khác nhau của một tổ chức.
Selenium ide là một extension (plugin) dùng để tự động hóa việc kiểm thử chạy
trên trình duyệt Firefox thơng qua tính năng record và playback, được tạo ra bởi
Shinya Kasatani người Nhật Bản, người sau này đã donate Selenium IDE cho
dự án Selenium, đúng như bản chất của dự án là open source.

Ai đã phát triển Selenium?
Do Selenium là một tập hợp các công cụ khác nhau nên cũng có những
người phát triển khác nhau. Dưới đây là những người chủ chốt đã có đóng góp
đáng kể cho dự án Selenium. Chủ yếu Selenium được tạo ra bởi Jason Huggins
năm 2004. Ông là một kỹ sư của ThoughtWorks, lúc đó đang làm việc trên một
ứng dụng web địi hỏi mức độ phải kiểm tra thường xuyên. Sau khi nhận ra rằng
việc kiểm tra ứng dụng một cách thủ công và lặp đi lặp lại ngày càng trở nên
không hiệu quả, ơng đã tạo ra một chương trình JavaScript có thể tự động kiểm
sốt các hành động của trình duyệt. Ông đặt tên cho chương trình này là
"JavaScript Test Runner." Nhìn thấy tiềm năng trong ý tưởng này để giúp tự
động hóa các ứng dụng web khác, ơng đã tạo ra mã nguồn mở JavaScript
Runner, sau này được đặt tên lại là Selenium Core.

Vấn đề chính sách gốc giống nhau
Chính sách Nguồn gốc giống nhau không cho phép mã JavaScript truy
cập các phần tử từ một tên miền khác với nơi nó được khởi chạy. Ví dụ, mã
HTML trong www.google.com sử dụng một chương trình JavaScript "random
Script.js". Chính sách gốc giống nhau sẽ chỉ cho phép random Script.js truy cập

vào các trang trong google.com chẳng hạn như google.com/mail,
google.com/login hoặc google.com/signup. Tuy nhiên, nó khơng thể truy cập
các trang từ các site khác nhau như yahoo.com/search hoặc guru99.com bởi vì
chúng thuộc các tên miền khác nhau
6


Ưu điểm của Selenium IDE:
 Dễ dàng cài đặt, sử dụng, tiết kiệm thời gian
 Không yêu cầu kinh nghiệm lập trình
 Có thể convert qua các ngơn ngữ lập trình khác như: HTML, Java, C#,
Python, Ruby
 Có thể debug, set breakpoint, thêm comment vào script cho dễ đọc

Nhược điểm của Selenium IDE:
 Chỉ hỗ trợ chạy trên firefox (cần cấu hình để chạy được trên Chrome/ IE)
 Khơng hỗ trợ biểu thức điều kiện/ vòng lặp (cần cài đặt thêm để chạy
được vịng lặp)
 Khơng hỗ trợ test report (cần cài đặt thêm để hiển thị report)
 Không cho phép đọc dữ liệu từ file: text (.txt), excel (.xls), .csv... (cần cài
đặt thêm để đọc dữ liệu từ file .csv/ .xml)
 Không hỗ trợ database/ mobile testing (việc này là hơi q với 1 plugin
trình duyệt)
 Khó khăn khi xử lý những case/ workflow phức tạp

1.2. Các thành phần
Nó gồm bốn thành phần bên dưới:
 Selenium Integrated Development Environment (IDE)
 Selenium Remote Control (RC)
 WebDriver

 Selenium Grid

7


Hình 1.1.Các thành phần của Selenium [1]
1.3. Ngơn ngữ viết
Các ngôn ngữ được hỗ trợ :
 Java
 C#
 PHP
 Python
 Perl
 Ruby
2. Cách tổ chức chương trình chạy với cơng cụ
Link: với firefox
Link: />mooikfkahbdckldjjndioackbalphokd với google chrome

Hình 1.2.Trang cài đặt Selenium IDE

8


Hình 1.3.Giao diện
3. Áp dụng phần mềm kiểm thử với chức năng đăng nhập
Sau khi cài đặt thành công, ta mở Selenium IDE

Hình 1.4.Mở Selenium IDE

9



Chọn “Record a new test in a new project” và nhập tên dự án

Hình 1.5.Tạo Project SE

10


Tiếp đó nhập đường dẫn website muốn kiểm thử

Hình 1.6. Nhập link website
Nhấp biểu tượng Recording và bắt đầu làm các bước

Hình 1.7.Bắt đầu recording
11


12


Sau khi làm xong thì dừng recording, ta được một kịch bản đã được ghi tự động

Hình 1.8.Kịch bản sau recording

Nhập vào biểu tượng run test( Hình tam giác) và chạy kịch bản tự động

Hình 1.9. Chạy tự động với kịch bản

Ta được kết quả sau khi chạy


Hình 1.10.Kết quả test
13


CHƯƠNG 2. ĐẶC TẢ PHẦN MỀM KIỂM THỬ
1 . Giới thiệu về phần mềm
- Tên phần mềm: Phần mềm nhà hàng.
- Viết trên ngơn ngữ:Python
- Các chức năng chính của phần mềm:
+ Cho phép đăng nhập, đăng ký vào hệ thống bán hàng.
+ Sau khi đã đăng nhập cho phép vào website bán hàng để xem
những sản phẩm.
+ Cho phép đăng xuất khỏi hệ thống phần mềm.
2. Đặc tả yêu cầu của phần mềm bán đồ nội thất
Đặc tả yêu cầu chức năng
2.1. Chức năng đăng ký
2.1.1.Usecase chức năng đăng ký

Hình 2.1. Usecase chức năng đăng ký

14


2.1.2. Biểu đồ hoạt động đăng ký
- Muốn vào hệ thống bán hàng trước tiên mình phải có tài khoản để có thể
đăng nhập vào được hệ thống.
- Biểu đồ hoạt động chức năng đăng ký:

Hình 2.2. Biểu đồ hoạt động chức năng đăng ký


15


2.1.3. Biểu đồ tuần tự

Hình 2.3. Biểu đồ tuần tự chức năng đăng ký

16


2.2. Chức năng đăng nhập
2.2.1. Use case đăng nhập
- Sau khi người dùng đã có tài khoản thì sẽ bắt đầu đăng nhập vào hệ
thống. Cịn nếu chưa có tài khoản đăng ký thì mình cần quay lại trang
đăng ký để tạo một tài khoản mới.
- Use case chức năng đăng nhập

Hình 2.4. Usecase chức năng đăng nhập

17


2.2.2. Biểu đồ hoạt động chức năng đăng nhập

Hình 2.5. Biểu đồ hoạt động chức năng đăng nhập

18



2.2.3. Biểu đồ tuần tự chức năng đăng nhập

Hình 2.6. Biểu đồ tuần tự chức năng đăng nhập

2.3. Chức năng đặt hàng
- Sau khi khách hàng lựa chọn được những sản phẩm ưng ý nhất thì sẽ tiến
hành đặt hàng. Chức năng này bắt buộc phải có sản phẩm trong giỏ hàng
thì mới có thể tiến hành đặt hàng

19


2.3.1. UseCase chức năng đặt hàng

Hình 2.7. Usecase chức năng đặt hàng

20



×