Nhập môn công nghệ phần mềm - Nguyễn Thị Minh Tuyền - Kiểm thử phần mềm

1.Kiểm thửtrong khi xây dựng

2.Phát triển theo hướng kiểm thử

3.Kiểm thửbản release

4.Kiểm thửngười dùng

pdf59 trang | Chuyên mục: Công Nghệ Phần Mềm | Chia sẻ: dkS00TYs | Lượt xem: 1670 | Lượt tải: 2download
Tóm tắt nội dung Nhập môn công nghệ phần mềm - Nguyễn Thị Minh Tuyền - Kiểm thử phần mềm, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
 kiểm thử hệ thống. 
v Ví dụ về các chính sách kiểm thử: 
§  Tất cả các hàm của hệ thống được truy cập thông qua 
menu nên được kiểm thử. 
§  Việc kết hợp các hàm được truy cập qua cùng menu 
phải được kiểm thử. 
§  Khi đầu vào được cung cấp, tất cả các hàm phải được 
kiểm tra với cả hai trường hợp giá trị đầu vào đúng và 
sai. 
40 
Nguyễn Thị Minh Tuyền Nhập môn CNPM 
Nội dung 
1.   Kiểm thử trong khi xây dựng 
2.   Phát triển theo hướng kiểm thử 
3.   Kiểm thử bản release 
4.   Kiểm thử người dùng 
41 
Nguyễn Thị Minh Tuyền Nhập môn CNPM 
Phát triển theo hướng kiểm thử 
(Test-driven development – TDD) 
v  Là một phương pháp phát triển chương trình 
trong đó việc phát triển mã nguồn và kiểm thử 
đan xen nhau. 
v  Các test được viết trước khi lập trình và phải 
“pass” các test là yếu tố quan trọng của việc 
phát triển. 
v  Phát triển mã nguồn theo kiểu tăng dần, song 
song với việc kiểm thử cho từng phần đó. Ta 
không thể chuyển sang cài đặt phần tiếp theo 
cho đến khi mã nguồn đang phát triển “pass” tất 
cả các test của nó. 
v  TDD được xem là một phần của các phương pháp 
linh hoạt như Extreme Programming. Tuy nhiên, 
nó cũng có thể được dùng trong các quy trình 
phát triển hoạch định sẵn. 
42 
Nguyễn Thị Minh Tuyền Nhập môn CNPM 
Phát triển theo hướng kiểm thử 
Identify new
functionality
Write test Run test
Implement
functionality and
refactor
fail
pass
43 
Nguyễn Thị Minh Tuyền Nhập môn CNPM 
Lợi ích của TDD 
v Bao phủ mã nguồn 
§  Mỗi phần mã nguồn ta viết ra đều ít nhất liên quan đến một test 
case. Vì vậy tất cả các mã nguồn được viết ra có ít nhất một test 
case. 
v Kiểm thử hồi quy (Regression testing) 
§  Một bộ kiểm hồi quy được phát triển dần dần như một chương 
trình được phát triển. 
v Đơn giản hóa việc sửa lỗi 
§  Khi một test thất bại, ta thấy được rõ ràng vấn đề nằm ở đâu. Mã 
nguồn mới được viết ra cần được kiểm tra và bổ sung. 
v Tài liệu hệ thống 
§  Bản thân các test là một dạng tài liệu mà nó mô tả mã nguồn làm 
gì. 
44 
Nguyễn Thị Minh Tuyền Nhập môn CNPM 
Kiểm thử hồi quy 
v Là việc kiểm thử hệ thống để kiểm tra 
rằng sự thay đổi không phá vỡ việc cài 
đặt mã nguồn trước đó. 
v Trong quy trình kiểm thử bằng tay, kiểm 
thử hồi quy rất tốn kém. Tuy nhiên, với 
kiểm thử tự động, kiểm thử hồi quy lại 
đơn giản và trực tiếp. Tất cả các test 
đều được thực thi lại mỗi khi có sự thay 
đổi trong chương trình. 
v Các test phải được thực thi thành công 
trước khi chấp nhận một thay đổi. 
 45 
Nguyễn Thị Minh Tuyền Nhập môn CNPM 
Nội dung 
1.   Kiểm thử trong khi xây dựng 
2.   Phát triển theo hướng kiểm thử 
3.   Kiểm thử bản release 
4.   Kiểm thử người dùng 
46 
Nguyễn Thị Minh Tuyền Nhập môn CNPM 
Kiểm thử bản release 
v Là quy trình kiểm thử một bản release của hệ 
thống, bản này sẽ sử dụng bên ngoài đội ngũ 
phát triển hệ thống. 
v Mục tiêu chính là để thuyết phục khách hàng 
rằng hệ thống đủ tốt để đưa vào sử dụng. 
§  Phải chỉ ra được rằng hệ thống hỗ trợ các tính năng đã đặc tả, đảm 
bảo hiệu năng và độ tin cậy, và không có lỗi khi sử dụng. 
v Là quy trình kiểm thử hộp đen trong đó các 
test chỉ bắt nguồn từ đặc tả hệ thống. 
47 
Nguyễn Thị Minh Tuyền Nhập môn CNPM 
Kiểm thử bản release và kiểm thử 
hệ thống 
v Kiểm thử bản release là một hình thức 
của kiểm thử hệ thống. 
v Điểm khác nhau quan trọng: 
§  Một nhóm tách biệt không tham gia vào việc phát triển 
sẽ chịu trách nhiệm về kiểm thử bản release. 
§  Kiểm thử hệ thống bởi nhóm phát triển nên tập trung 
vào việc tìm lỗi trong hệ thống (defect testing). 
§  Mục tiêu của kiểm thử bản release là để chứng tỏ rằng 
hệ thống đáp ứng yêu cầu và đủ tốt để đưa ra sử dụng 
bên ngoài (validation testing). 
48 
Nguyễn Thị Minh Tuyền Nhập môn CNPM 
Kiểm thử dựa vào yêu cầu 
v Gồm việc kiểm tra mỗi yêu cầu và phát 
triển test cho yêu cầu đó. 
v Ví dụ: các yêu cầu của hệ thống MHC-
PMS: 
§  Nếu một bệnh nhân được biết là dị ứng với một loại 
thuốc nào đó, khi kê đơn loại thuốc đó hệ thống sẽ phải 
đưa ra cảnh báo đến người dùng hệ thống. 
§  Nếu người kê đơn chọn thuốc mà bỏ qua cảnh báo về dị 
ứng, họ sẽ phải đưa ra lý do tại sao lại bỏ qua cảnh báo. 
49 
Nguyễn Thị Minh Tuyền Nhập môn CNPM 
Các test dựa vào yêu cầu 
v  Thiết lập một hồ sơ bệnh nhân với thông tin không bị dự 
ứng loại thuốc nào. Kê đơn thuốc liên quan đến các dị 
ứng. Kiểm tra rằng thông điệp cảnh báo không xuất 
hiện. 
v  Thiết lập một hồ sơ bệnh nhân với thông tin bị dị ứng với 
một loại thuốc. Kê đơn thuốc có loại thuốc mà bệnh 
nhân bị dị ứng, và kiểm tra rằng cảnh báo được đưa ra 
bởi hệ thống. 
v  Thiết lập một hồ sơ bệnh nhân trong đó có thông tin dị 
ứng với hai hoặc nhiều hơn hai loại thuốc. Kê đơn cả hai 
loại này tách biệt nhau và kiểm tra rằng cảnh báo đúng 
cho từng loại thuốc được đưa ra. 
v  Kê đơn hai loại thuốc mà bệnh nhân bị dị ứng. Kiểm ra 
rằng hai cảnh báo đúng được đưa ra. 
v  Kê đơn một loại thuốc mà cảnh báo xuất hiện và bỏ qua 
cảnh báo đó. Kiểm tra rằng hệ thống yêu cầu người 
dùng cung cấp lý do tại sao bỏ qua cảnh báo. 
50 
Nguyễn Thị Minh Tuyền Nhập môn CNPM 
Một kịch bản cho hệ thống MHC-
PMS 
Kate is a nurse who specializes in mental health care. One of her responsibilities is to 
visit patients at home to check that their treatment is effective and that they are not 
suffering from medication side -effects. 
On a day for home visits, Kate logs into the MHC-PMS and uses it to print her 
schedule of home visits for that day, along with summary information about the patients 
to be visited. She requests that the records for these patients be downloaded to her 
laptop. She is prompted for her key phrase to encrypt the records on the laptop. 
One of the patients that she visits is Jim, who is being treated with medication for 
depression. Jim feels that the medication is helping him but believes that it has the side 
-effect of keeping him awake at night. Kate looks up Jim’s record and is prompted for 
her key phrase to decrypt the record. She checks the drug prescribed and queries its 
side effects. Sleeplessness is a known side effect so she notes the problem in Jim’s 
record and suggests that he visits the clinic to have his medication changed. He agrees 
so Kate enters a prompt to call him when she gets back to the clinic to make an 
appointment with a physician. She ends the consultation and the system re-encrypts 
Jim’s record. 
After, finishing her consultations, Kate returns to the clinic and uploads the records of 
patients visited to the database. The system generates a call list for Kate of those 
patients who she has to contact for follow-up information and make clinic appointments. 
51 
Nguyễn Thị Minh Tuyền Nhập môn CNPM 
Chức năng được kiểm định dựa vào 
kịch bản 
v Phân quyền bằng cách đăng nhập vào hệ 
thống. 
v Tải và upload hồ sơ bệnh nhân từ máy tính. 
v Lập lịch thăm bệnh nhân tại nhà. 
v Mã hóa và giải mã hồ sơ bệnh nhân trên thiết 
bị di động. 
v Tìm kiếm và bổ sung hồ sơ. 
v Liên kết tới CSDL thuốc có chứa thông tin về 
hiệu ứng phụ. 
v Hệ thống hỗ trợ việc nhắc nhở lịch hẹn. 
52 
Nguyễn Thị Minh Tuyền Nhập môn CNPM 
Performance testing 
v Là một phần của kiểm thử bản release, có 
thể bao gồm việc kiểm thử các thuộc tính của 
hệ thống chẳng hạn như hiệu năng hay độ 
tin cậy. 
v Các test nên phản ánh tính sử dụng của hệ 
thống. 
v Gồm việc lên kế hoạch cho một chuỗi các 
test mà tại đó tải tăng ổn định cho đến khi 
hiệu năng của hệ thống trở nên không chấp 
nhận được. 
v Stress testing là một hình thức của 
performance testing ở đó hệ thống cố tình bị 
quá tải để kiểm tra hành vi lỗi của nó. 
53 
Nguyễn Thị Minh Tuyền Nhập môn CNPM 
Nội dung 
1.   Kiểm thử trong khi xây dựng 
2.   Phát triển theo hướng kiểm thử 
3.   Kiểm thử bản release 
4.   Kiểm thử người dùng 
54 
Nguyễn Thị Minh Tuyền Nhập môn CNPM 
Kiểm thử người dùng(user testing) 
v Là một giai đoạn trong quy trình kiểm 
thử trong đó người dùng cung cấp đầu 
vào và đưa ra lời khuyên cho việc kiểm 
thử hệ thống. 
v Kiểm thử người dùng là cần thiết, 
thậm chí khi một hệ thống đã rõ ràng 
và kiểm thử bản release đã được tiến 
hành. 
§  Lý do cho điều này là ảnh hưởng từ môi trường làm 
việc của người sử dụng có một ảnh hưởng quan trọng 
lên độ tin cậy, hiệu năng, tính sử dụng và khả năng 
chịu lỗi của một hệ thống. Những điều này không thể 
mô phỏng trong môi trường kiểm thử. 
55 
Nguyễn Thị Minh Tuyền Nhập môn CNPM 
Các loại kiểm thử người dùng 
v Alpha testing 
§  Người dùng phần mềm làm việc với nhóm phát triển để 
kiểm thử phần mềm tại nơi phát triển phần mềm. 
v Beta testing 
§  Một bản release có sẵn cho phép người dùng sử dụng 
chúng lấy kinh nghiệm và tìm ra lỗi với người phát triển 
hệ thống. 
v Acceptance testing 
§  Khách hàng kiểm thử hệ thống để quyết định xem hệ 
thống này có được chấp nhận để triển khai đến môi 
trường làm việc của khách hàng hay không. 
56 
Nguyễn Thị Minh Tuyền Nhập môn CNPM 
Quy trình acceptance testing 
Define
acceptance
criteria
Test
criteria
Plan
acceptance
testing
Derive
acceptance
tests
Run
acceptance
tests
Negotiate
test results
Accept or
reject
system
Test
plan
Tests Test
results
Testing
report
57 
Nguyễn Thị Minh Tuyền Nhập môn CNPM 
Phương pháp linh hoạt và 
acceptance testing 
v  Trong phương pháp linh hoạt, người dùng/khách 
hàng là một phần của nhóm phát triển và chịu 
trách nhiệm đưa ra các quyết định về việc chấp 
nhận hệ thống. 
v  Các test được định nghĩa bởi người dùng/khách 
hàng và được tích hợp vào các test khác trong đó 
chúng được kiểm tra tự động khi có thay đổi xảy 
ra. 
v  Không có một quy trình acceptance testing tách 
biệt. 
v  Vấn đề chính ở đây là liệu người dùng tham gia 
trực tiếp là người đại diện cho tất cả các mối 
quan tâm của toàn bộ stakeholder hệ thống hay 
không. 
58 

File đính kèm:

  • pdfNhập môn công nghệ phần mềm - Nguyễn Thị Minh Tuyền - Kiểm thử phần mềm.pdf