21/07/2020
1
Bộ môn Công nghệ thông tin
Trường Đại học Thương mại
Tài liệu tham khảo
Ian Sommerville, Software Engineering, 10
th
Edition, 2016.
Glenford J. Myers, Tom Badgett, Todd M.
Thomas, Corey Sandler, The Art of Software
Testing, 2011.
Ron Patton, Software Testing,Second Edition,
Sam Publishing, 2009.
http://www.seleniumframework.com/
http://www.tester.vn/
http://www.testingvn.com/
2
Nội dung
Chương 1. Tổng quan về kiểm thử
phần mềm
Chương 2. Quy trình kiểm thử phần
mềm
Chương 3. Các công cụ kiểm thử phần
mềm
Chương 4. Thiết kế ca kiểm thử
3
Chương 1. Tổng quan về
kiểm thử phần mềm
1.1. Khái niệm phát triển phần mềm
1.1.1. Khái niệm phần mềm
1.1.2. ng đời phát triển phần mềm
1.1.3. Các hình phát triển phần mềm
1.2. Khái niệm kiểm thử phần mềm
1.2.1. Khái niệm kiểm thử
1.2.2. Đảm bảo chất lượng
1.2.3. Kiểm soát chất lượng sản phẩm
1.3. Các nguyên tắc kiểm thử
1.4. Vai trò kiểm thử phần mềm
4
1.1.1. Khái niệm phần mềm
Khái niệm phần mềm
Một phần mềm gồm 3 thành phần:
Chương trình máy nh: nguồn, máy
Cấu trúc dữ liệu: cấu trúc làm việc (bộ nhớ trong) cấu trúc
lưu trữ (bộ nhớ ngoài)
Các tài liệu liên quan: tài liệu hướng dẫn s dụng (dành cho
người dùng), tài liệu phát triển (dành cho người phát triển
hệ thống), tài liệu tham khảo kỹ thuật (dành cho người bảo
trì)
Phần mềm được coi tất cả các kỹ thuật
ứng dụng để thực hiện những dịch v chức
năng cho mục đích nào đó bằng phần cứng,
làm cho sử dụng phần cứng y tính đạt
hiệu quả cao.
5
6
1.1.1. Khái niệm phần mềm
21/07/2020
2
7
Nhóm kỹ thuật, phương pháp luận
Các khái niệm trình tự cụ thể hóa
một hệ thống
Các phương pháp tiếp cận giải quyết
vấn đề
Các trình tự thiết kế phát triển
được chuẩn hóa
Các phương pháp đặc tả yêu cầu, thiết
kế hệ thống, thiết kế chương trình,
kiểm thử, toàn bộ quy trình quản
phát triển phần mềm.
8
Nhóm chương trình
phần giao diện với phần cứng, tạo thành từ các nhóm
lệnh chỉ thị cho máy tính biết trình tự thao tác xử dữ
liệu
Phần mềm bản: với chức năng cung cấp môi trường
thao tác dễ dàng cho người sử dụng nhằm tăng hiệu năng
xử của phần cứng (ví dụ như OS chương trình hệ
thống)
Phần mềm ứng dụng: dùng để xử nghiệp vụ thích hợp
nào đó (quản , kế toán, . . .), phần mềm đóng gói, phần
mềm của người dùng, . . .
9
Nhóm các tư liệu
Những liệu hữu ích, giá trị cao
rất cần thiết để phát triển, vận hành
bảo trì phần mềm
Để y dựng phần mềm với độ tin cậy
cao cần tạo ra các liệu chất lượng
cao: đặc tả yêu cầu, tả thiết kế từng
loại, điều kiện kiểm thử, thủ tục vận
hành, ớng dẫn thao tác,
10
1.1.2. Vòng đời phát triển PM
Là khoảng thời gian tính từ khi phần
mềm được đề xuất cho đến khi bỏ đi:
cụ thể từ khi được đặt hàng, phát
triển, sử dụng đến khi bị loại bỏ.
Vòng đời phần mềm được phân chia
thành các pha chính như xác định yêu
cầu, triển khai, kiểm thử, bảo trì (vận
hành)... Phạm vi, thứ tự các pha khác
nhau tùy theo từng hình, dự án cụ
thể
11
Tùy mô hình áp dụng việc phân
chia các pha, các bước có thể có sự
khác nhau: từ 3 đến 20 pha.
Xác định yêu cầu Triển khai Kiểm thử
(VËn hµnh) Bảo trì
Vòng đời phần mềm
1.1.2. Vòng đời phát triển PM
12
1.1.2. Vòng đời phát triển PM
Các giai đoạn phát triển phần mềm
1. Phân tích tính khả thi đặc tả yêu cầu
2. Phân tích
3. Thiết kế
4. hóa
5. Kiểm thử
6. Cài đặt
7. Bảo trì
21/07/2020
3
13
Phân tích tính khả thi
Phân tích tính khả thi
Xác định vấn đề cần giải quyết
Xem xét các giải pháp kỹ thuật khác nhau
(đánh giá ưu nhược điểm của từng giải
pháp)
Đánh giá về thời gian, giá thành, nguồn tài
nguyên cần thiết
Sản phẩm: tài liệu phân tích
14
Đặc tả yêu cầu
Phân tích và đặc tả yêu cầu
15
Đặc tả yêu cầu
Đặc tả yêu cầu (hay còn gọi kỹ thuật xác định yêu cầu) quy
trình tìm hiểu và định nghĩa những dịch vụ nào được yêu cầu
các ràng buộc trong quá trình vận hành y dựng h
thống.
Quy trình xác định yêu cầu bao gồm bốn pha chính:
1.
Nghiên cứu khả thi: Nghiên cứu khả thi giúp xác định
những yêu cầu của người sử dụng thoả mãn những công
ngh hiện tại hay không. Về góc độ kinh doanh, nghiên cứu
khả thi nhằm c định hệ thống đưa ra mang lại lợi
nhuận không. Việc nghiên cứu khả thi nên được thực hiện
một cách nhanh chóng không quá tốn kém. Kết quả của
việc nghiên cứu khả thi sẽ xác định nên tiếp tục y dựng
hệ thống nữa hay không.
2.
Phân tích và rút ra các yêu cầu: đây quy trình đưa ra các
yêu cầu hệ thống thông qua một số phương pháp như: quan
sát hệ thống hiện tại, phỏng vấn thảo luận với người sử
dụng, phân tích nhiệm vụ, phân tích tài liệu hoặc hệ thống
Trong pha này, chúng ta th phải xây dựng một hoặc
nhiều hình hệ thống các mẫu thử.
16
3. Đặc tả yêu cầu: Pha này sẽ liệu hoá những thông tin thu thập được.
hai loại yêu cầu cần được xác định:
* Yêu cầu của người sử dụng: những yêu cầu bằng ngôn ngữ tự nhiên bổ
sung thêm cho các biểu đồ của các dịch vụ hệ thống cung cấp các
ràng buộc vận hành của nó. Kiểu yêu cầu này được viết bởi người sử
dụng.
* Yêu cầu hệ thống: những tài liệu cấu trúc tả chi tiết về các chức
năng, dịch vụ các ràng buộc vận hành của hệ thống. Yêu cầu hệ thống
sẽ định nghĩa những cần phải xây dựng, cho nên có thể trở thành
bản hợp đồng giữa khách hàng n thầu.
4. Đánh giá yêu cầu: pha này sẽ kiểm tra lại các yêu cầu xem chúng
đúng thực tế hay không, thống nhất không, đầy đủ không. Nếu
phát hiện ra lỗi thì ta phải chỉnh sửa các lỗi này.
17
Xác định nhu cầu của khách ng/người sử
dụng
Xác định i toán, chứ không phải giải pháp
Khó khăn
Khách hàng không biết cái họ cần
Khách hàng không trình bày cái họ muốn thay đổi
Sản phẩm: tài liệu đặc tả yêu cầu
Đặc tả yêu cầu
18
Thiết kế phần mềm
Thiết kế phần mềm quá trình thiết kế cấu trúc phần mềm dựa trên
những tài liệu đặc tả. Hoạt động thiết kế bao gồm những công việc
chính sau:
Thiết kế kiến trúc: Các hệ thống con cấu thành lên hệ thống cần y dựng
mối quan hệ giữa chúng được xác định liệu hoá.
Đặc tả trừu tượng: với mỗi hệ thống con, phải một bản đặc tả về các
dịch vụ của và những ràng buộc khi vận hành.
Thiết kế giao diện: với mỗi hệ thống con, các giao diện của với những
hệ thống con khác phải được thiết kế liệu hoá.
Thiết kế thành phần: các dịch vụ cung cấp cho các thành phần khác các
giao diện tương tác với chúng phải được thiết kế.
Thiết kế cấu trúc dữ liệu: cấu trúc dữ liệu được sử dụng để cài đặt hệ
thống phải được thiết kế một cách chi tiết c thể.
Thiết kế thuật toán: Các thuật toán được sử dụng để cung cấp các dịch vụ
phải được thiết kế chi tiết chính xác.
21/07/2020
4
Phân tích
19
20
Thiết kế phần mềm
Các công việc trong thiết kế phần mềm
21
Thiết kế phần mềm
Các phương pháp thiết kế
Hướng chức năng
Hướng đối tượng
22
Mã hóa và gỡ rối
a gỡ rối
hóa: cài đặt các thiết kế bằng ngôn ngữ
lập trình không đơn thuần chỉ lập trình
Viết tài liệu
Chuẩn lập trình
Lập trình theo cấp
Công cụ
Quản phiên bản
Gỡ rối: phát hiện các lỗi trong quá trình lập
trình
Sản phẩm: chương trình
23
Kiểm thử
Kiểm thử - Đánh giá phần mềm hay
còn gọi là thẩm tra đánh giá (V&V -
Verification and validation) được sử
dụng để chỉ ra rằng hệ thống đã thực
hiện theo đúng các đặc tả thoả mãn
mọi yêu cầu của khách hàng.
Kiểm thử bao gồm các công đoạn:
kiểm tra, xem xét lại, kiểm thử hệ
thống. Kiểm thử hệ thống tức là cho hệ
thống thực hiện trên những trường
hợp dữ liệu thật được lấy từ tài liệu
đặc
tả
hệ
thống
.
Quy
trình
kiểm
24
Bảo trì hệ thống
Bảo trì hệ thống:
Bảo đảm chương trình vận hành tốt
Cài đặt các thay đổi
Cài đặt các yêu cầu mới
Xử các lỗi khi vận hành
Sản phẩm: chương trình
21/07/2020
5
25
Bảo trì hệ thống
Cải tiến phần mềm
Khi các yêu cầu hệ thống thay đổi theo sự
thay đổi của các yêu cầu nghiệp vụ thì phần
mềm phải cải tiến thay đổi để hỗ trợ
khách hàng. Thông thường chi phí để bảo trì
cải tiến thường đắt hơn nhiều so với chi
phí y dựng phần mềm.
1.1.2. Vòng đời phát triển phần mềm
26
1.1.2. Vòng đời phát triển phần mềm
Kiểm thử cần thực hiện trong suốt
vòng đời của phần mềm
Kiểm thử không tồn tại độc lập.
Các hoạt động của kiểm thử luôn gắn liền với
các hoạt động phát triển phần mềm.
Các hình phát triển phần mềm khác nhau
cần các cách tiếp cận test khác nhau.
27
28
1.1.3. Các mô hình phát triển PM
Hiện nay rất nhiều mô hình phát
triển phần mềm, thường được phân
thành 2 loại: hình tuyến tính
hình lặp.
hình tuyến tính: các bước được thực
hiện tuần tự, không lặp lại.
hình thác nước
hình V
hình lặp: các bước thể thực hiện song
song, thể lặp lại một số ớc.
hình tiến hóa
hình xoắn ốc
hình hợp nhất…
29
a. Mô hình Thác nước
hình thác nước (
Water Fall Model
)
30
a. Mô hình Thác nước
Các pha của hình thác nước bao
gồm:
Phân tích xác định các yêu cầu
Thiết kế hệ thống phần mềm
Cài đặt kiểm thử đơn vị
Tích hợp kiểm thử hệ thống
Vận hành bảo trì.