lOMoARcPSD| 59691467
ÔN TẬP: KIỂM THỬ PHẦN MỀM
PHẦN 1: LÝ THUYẾT
1. Kiểm thử phần mềm là gì? Tầm quan trọng của việc kiểm thử
phần mềm?
- Kiểm thphần mềm là thực sự cần thiết vì chỉ ra những khiếm
khuyết và sai sót đã được thực hiện trong giai đoạn phát triển .
- Tầm quan trọng của việc kiểm thử phần mềm :
+ đảm bảo độ tin cậy của khách hàng và sự hài lòng của họ trong
ứng dụng
+ đảm bảo chất lượng của sản phẩm.
2. Phân biệt Error, Failurer, Fault?. Lấy ví dụ cụ thể.
Error
Failurer
Fault
hành động của con
người dẫn đến kết qu
sai.
Lỗi khi kết qu
sai lệch so với yêu
cầu đặc tả
Lỗi xảy ra khi làm
sai các step, process,
hoặc chuẩn bị dữ
liệu.
dụ: Developer đặt
tên biến cho 1 function
sai pháp, dẫn đến
khi gọi biến này thì
không ra kết quả.
dụ: khách hàng
yêu cầu server
thể hoạt động tốt khi
có 1000 user.
dụ: khi bạn test
API, bạn muốn login
thành công vào 1 app
thì sẽ luôn 1 token
được trả về từ server.
Fault => Server
không token trả
về, bạn vẫn login
thành công.
3. * Kiểm thử tĩnh là gì?. Ưu điểm và nhược điểm của kiểm thử
tĩnh?.
- Kiểm thử tĩnh một hình thức của kiểm thử phần mềm không
thực hiện phần mềm.
- Ưu điểm :
- Nhược điểm :
lOMoARcPSD| 59691467
4. Kiểm thử động gì?. Ưu điểm nhược điểm của kiểm thử
động?
- Kiểm thử động (Dynamic Testing) một phương pháp kiểm thử
phần mềm được sử dụng để kiểm tra hành vi động của phần
mềm.
- Mục đích chính của kiểm thử động kiểm tra hành vi của phần
mềm với các biến động hoặc các biến không phải hằng số và
tìm ra các khu vực yếu trong môi trường thời gian chạy phần mềm.
Mã phải được thực thi để kiểm tra hành vi động.
- Ưu điểm :
+ Kiểm thử động thể phát hiện ra các khuyết tật chưa được phát
hiện được coi quá khó hoặc phức tạp không thể được che
phủ thông qua phân tích tĩnh
+ Trong kiểm thử động, chúng ta thực thi phần mềm từ đầu đến
cuối, đảm bảo phần mềm không lỗi, do đó làm tăng chất ợng
của sản phẩm và dự án.
+ Kiểm thử động trở thành một công cụ cần thiết để phát hiện
bất kỳ mối đe dọa bảo mật nào - Nhược điểm :
+ Kiểm thử động tốn thời gian vì nó thực thi ứng dụng / phần mềm
hoặc mã đòi hỏi lượng lớn tài nguyên
+ Kiểm thử động làm tăng chi phí của dán/sản phẩm không
bắt đầu sớm trong vòng đời phần mềm do đó bất kỳ vấn đề nào
được khắc phục trong các giai đoạn sau đều thể dẫn đến tăng
chi phí.
5. Kiểm thử hộp đen gì? Ưu điểm nhược điểm của kiểm thử
hộp đen?
- Kiểm thử hộp đen: là một phương pháp kiểm thphần mềm được
thực hiện không biết được cấu tạo bên trong của phần mềm,
cách các tester kiểm tra xem hệ thống nmột chiếc hộp
đen, không có cách nào nhìn thấy bên trong của cái hộp.
- Ưu điểm :
+ Phù hợp và hiệu quả khi số lượng các ng lệnh của hệ thống
lớn.
+ Không cần truy cập mã nguồn
lOMoARcPSD| 59691467
+ Phân biệt ràng quan điểm của người ng với quan điểm
của nhà phát triển thông qua các vai trò được xác định rõ ràng. +
Việc phát triển test case thể diễn ra song song với quá trình
thực hiện phần mềm
Rút ngắn thời gian thực hiện dự án.
- Nhược điểm
+ Bị giới hạn bởi độ bao phủ của các trường hợp kiểm thử. +
Kiểm thkhông hiệu quả, do thực tế tester bị hạn chế kiến
thức về hệ thống.
+ Không độ bao phủ, người kiểm thkhông thể kiểm tra
các đoạn mã nguồn hoặc tập trung vào các đoạn mã bị lỗi. + Rất
khó để thiết kế được hầu hết các trường hợp kiểm thử cho h
thống
6. Kiểm thử hộp trắng gì? Ưu điểm nhược điểm của kiểm
thử hộp trắng?
- Kiểm thử Hộp trắng ( White Box Testing ) một phương pháp
kiểm thử phần mềm trong đó tester biết về cấu trúc nội bộ / thiết
kế. Người kiểm tra chọn đầu vào để thực hiện các đường dẫn
thông qua mã và xác định đầu ra thích hợp.
- Ưu điểm :
+ Khi sử dụng kiểm thử hộp trắng, kiểm thử viên thchắc chắn
rằng mọi đường xuyên qua phần mềm cần kiểm thử đã được xác
định và kiểm thử.
- Nhược điểm
+ Không đkhả năng kiểm thử hết các đường thi hành số lượng
quá nhiều
+ Kiểm thử bằng hộp trắng không thể đảm bảo rằng chương trình
đã tuân theo đặc tả
+ Không phát hiện ra chương trình sai do thiếu đường dẫn
+ Không phát hiện được lỗi do sai dữ liệu
+ Kiểm thử viên cần có các kỹ năng về lập trình
lOMoARcPSD| 59691467
7. Kỹ thuật phân lớp tương đương gì? Các bước thiết kế test
case dựa vào kỹ thuật phân lớp tương đương?
- Phân lớp tương đương: 1 phương pháp kiểm thhộp đen chia
miền đầu vào của 1 chương trình thành nhiều lớp dliệu, từ đó
suy dẫn ra các ca kiểm thử.
- Phương pháp này cố gắng xác định ra 1 ca kiểm thử mà làm lộ ra
1 lớp lỗi, do đó làm giảm tổng số các trường hợp kiểm thử phải
được xây dựng.
- Các bước test case:
Bước 1: Xác định các lớp tương đương
Bước 2: Xác định các ca kiểm thử
8. Kỹ thuật phân tích gtrị biên là gì? . Các bước thiết kế test
case dựa vào kỹ thuật phân tích giá trị biên?
- Phân tích giá trị biên : phương pháp kiểm thử hộp đen được
phát triển từ kỹ thật phân lớp tương đương, dùng để thiết kế các
ca kiểm thử bằng cách đầu vào dùng các gtrị biên sau khi đã
phân lớp tương đương.
- Các giá trị biên: min, min -1, min+1, max-1, max+1.
- Các bước test case:
Bước 1: Xác định các biến đầu vào các giá trị thể của
chúng.
Bước 2: Xác định các giá trị biên: cụ thể, xác định các giá trị biên
của các biến đầu vào, bao gồm giá trị nhỏ nhất, giá trị lớn nhất và
các giá trị nằm giữa.
Bước 3: Lựa chọn các giá trị để kiểm thử, bao gồm các giá trị biên
và các giá trị nằm giữa.
Bước 4: Tạo các ca kiểm thử để kiểm tra tính đúng đắn của phần
mềm.
Bước 5: Cuối cùng, thực hiện kiểm thử ghi nhận kết quả để
phân tích và xử lý các lỗi phát hiện được.
9. Kỹ thuật lập bảng giá trị gì? . Các bước thiết kế test case
dựa vào kỹ thuật lập bảng giá trị?
- Kỹ thuật lập bảng gtrị : là kỹ thuật được áp dụng trong nhiều
lĩnh vực, phân tích logic trong các hoạt động nghiệp vụ, lập trình,
kiểm thử .
lOMoARcPSD| 59691467
- Các bước thiết kế test case :
Bước 1: Liệt kê tất cả các nguyên nhân ( cause )
Bước 2: Tính tổng các phép kết hợp giữa các cause
Bước 3: Điền giá trị vào các cột trong bảng
Bước 5: Rút bớt số lượng các phép kết hợp dư thừa
Bước 6: Kiểm tra các phép kết hợpbao phủ hết mọi trường
hợp hay không
Bước 7: Bổ sung kết quả ( effect ) vào bảng quyết định
10. * Kiểm thử dòng điều khiển gì? Ưu điểm nhược điểm
của kiểm thử dòng điều khiển?
- Đường thi hành (Execution path) : 1 kịch bản thi hành đơn v
phần mềm tương ứng, cụ thể danh sách thtự các lệnh
được thi hành ứng với 1 lần chạy cụ thể của đơn vị phần mềm, bắt
đầu từ điểm nhập của đơn vị phần mềm đến điểm kết thúc của đơn
vị phần mềm.
-
11. * Kiểm thử dòng dữ liệu là gì? Ưu điểm và nhược điểm của
kiểm thử dòng dữ liệu?
12. Test Case là gì? Vai trò của Test Case?. Cách thiết kế 1 test
case?
- Test case ( Kịch bản kiểm thử ) một tập hợp các hành động được
thực thi để xác minh một function, tả quá trình dữ liệu đầu vào
(input),hành động (active) kết quả (expected response) của một
hệ thống phần mềm có hoạt động đúng hay không.
- Vai trò của Test Case:
Test Case có vai trò rất quan trọng trong bất kỳ dự án nào, vì đây
bước đầu tiên trong quá trình test nếu sai sót bước
này sẽ ảnh hưởng đến các giai đoạn tiếp theo trong vòng đời của
Test Case.
- Cách viết Test case:
Bước 1: Xác định mục đích
Bước 2: Xác định hiệu suất
Bước 3: Xác định yêu cầu phi chức năng
lOMoARcPSD| 59691467
Bước 4: Xác định biểu mẫu
Bước 5: Xác định tương tác giữa module 13. Hãy trình
bày 7 nguyên lý của kiểm thử?
1.Kiểm tra chỉ một lỗi hiển thị
2. Kiểm tra mọi thứ không thể
3.Kiểm tra sớm tiết kiệm thời gian và tiền bạc
4. Error gom nhóm
5. Đề phòng nghịch lý thuốc trừ sâu
6. Kiểm tra phụ thuộc vào bối cảnh7. Quan niệm sai về phần mềm
không có lỗi
14. Trình bày quy trình kiểm thử?
1. Phân tích yêu cầu
2. Lập kế hoạch kiểm thử
3. Phát triển kịch bản kiểm thử
4. Thiết lập môi trường kiểm thử
5. Thực hiện kiểm th
6. Kết thúc chu kỳ kiểm thử
15. Phân biệt Kiểm thử hộp đen và kiểm thử hộp trắng?
Kiểm thử hộp đen
Kiểm thử hộp trắng
Khái
niệm
-Là quá trình thiết kế/triển
khai thử nghiệm phần mềm
đối với hạng mục đang
được kiểm thử
-Là cấu trúc/thiết kế/triển
khai kiểm thử phần mềm của
hạng mục đang được kiểm
thử
Cấp độ
áp dụng
-Chủ yếu áp dụng cho
kiểm tra hệ thống cao cấp
- Chủ yếu áp dụng cho kiểm
thử tích hợp thấp hơn
Trách
nhiệm
-Phần mềm độc lập
-Nhà phát triển phần mềm
Kiến
thức lập
trình
-Không bắt buộc
-Yêu cầu
lOMoARcPSD| 59691467
Kiến
thức
thực
hiện
-Không cần thiết
-Cần thiết
Cơ sở
-Các đặc tả yêu cầu của
ca kiểm thử
-Thiết kế chi tiết các ca
kiểm thử
16. Phân biệt Verification và Validation?
Verification ( Xác Minh )
Validation ( Thẩm Định )
- quy trình phát triển phần
mềm thõa mãn các yêu cầu
đặt ra trong công đoạn trước
hay không
- quá trình kiểm chứng
chúng ta xây dựng phần mềm
đúng theo yêu cầu khách
hàng hay không.
- Xác minh quan tâm tới việc
ngăn chặn lỗi giữa các công
đoạn
- Thẩm định chỉ quan tâm đến
sản phẩm cuối cùng không còn
lỗi
- Xác minh thường hoạt
động kỹ thuật và sử dụng
các kiến thức về yêu cầu,
các đặc tả rời rạc của phần
mềm
-

Preview text:

lOMoAR cPSD| 59691467
ÔN TẬP: KIỂM THỬ PHẦN MỀM PHẦN 1: LÝ THUYẾT
1. Kiểm thử phần mềm là gì? Tầm quan trọng của việc kiểm thử phần mềm?
- Kiểm thử phần mềm là thực sự cần thiết vì nó chỉ ra những khiếm
khuyết và sai sót đã được thực hiện trong giai đoạn phát triển .
- Tầm quan trọng của việc kiểm thử phần mềm :
+ đảm bảo độ tin cậy của khách hàng và sự hài lòng của họ trong ứng dụng
+ đảm bảo chất lượng của sản phẩm.
2. Phân biệt Error, Failurer, Fault?. Lấy ví dụ cụ thể. Error Failurer Fault
Là hành động của con Lỗi khi có kết quả Lỗi xảy ra khi làm
người dẫn đến kết quả sai lệch so với yêu sai các step, process, sai. cầu đặc tả hoặc chuẩn bị dữ liệu.
Ví dụ: Developer đặt Ví dụ: khách hàng Ví dụ: khi bạn test
tên biến cho 1 function yêu cầu server có API, bạn muốn login
sai cú pháp, dẫn đến thể hoạt động tốt khi thành công vào 1 app
khi gọi biến này thì có 1000 user. thì sẽ luôn có 1 token không ra kết quả.
được trả về từ server. Fault => Server không có token trả về, và bạn vẫn login thành công.
3. * Kiểm thử tĩnh là gì?. Ưu điểm và nhược điểm của kiểm thử tĩnh?.
- Kiểm thử tĩnh là một hình thức của kiểm thử phần mềm mà không
thực hiện phần mềm. - Ưu điểm : - Nhược điểm : lOMoAR cPSD| 59691467
4. Kiểm thử động là gì?. Ưu điểm và nhược điểm của kiểm thử động?
- Kiểm thử động (Dynamic Testing) là một phương pháp kiểm thử
phần mềm được sử dụng để kiểm tra hành vi động của mã phần mềm.
- Mục đích chính của kiểm thử động là kiểm tra hành vi của phần
mềm với các biến động hoặc các biến không phải là hằng số và
tìm ra các khu vực yếu trong môi trường thời gian chạy phần mềm.
Mã phải được thực thi để kiểm tra hành vi động. - Ưu điểm :
+ Kiểm thử động có thể phát hiện ra các khuyết tật chưa được phát
hiện được coi là quá khó hoặc phức tạp và không thể được che
phủ thông qua phân tích tĩnh
+ Trong kiểm thử động, chúng ta thực thi phần mềm từ đầu đến
cuối, đảm bảo phần mềm không có lỗi, do đó làm tăng chất lượng
của sản phẩm và dự án.
+ Kiểm thử động trở thành một công cụ cần thiết để phát hiện
bất kỳ mối đe dọa bảo mật nào - Nhược điểm :
+ Kiểm thử động tốn thời gian vì nó thực thi ứng dụng / phần mềm
hoặc mã đòi hỏi lượng lớn tài nguyên
+ Kiểm thử động làm tăng chi phí của dự án/sản phẩm vì nó không
bắt đầu sớm trong vòng đời phần mềm và do đó bất kỳ vấn đề nào
được khắc phục trong các giai đoạn sau đều có thể dẫn đến tăng chi phí.
5. Kiểm thử hộp đen là gì? Ưu điểm và nhược điểm của kiểm thử hộp đen?
- Kiểm thử hộp đen: là một phương pháp kiểm thử phần mềm được
thực hiện mà không biết được cấu tạo bên trong của phần mềm,
là cách mà các tester kiểm tra xem hệ thống như một chiếc hộp
đen, không có cách nào nhìn thấy bên trong của cái hộp. - Ưu điểm :
+ Phù hợp và hiệu quả khi số lượng các dòng lệnh của hệ thống là lớn.
+ Không cần truy cập mã nguồn lOMoAR cPSD| 59691467
+ Phân biệt rõ ràng quan điểm của người dùng với quan điểm
của nhà phát triển thông qua các vai trò được xác định rõ ràng. +
Việc phát triển test case có thể diễn ra song song với quá trình thực hiện phần mềm
 Rút ngắn thời gian thực hiện dự án. - Nhược điểm
+ Bị giới hạn bởi độ bao phủ của các trường hợp kiểm thử. +
Kiểm thử không hiệu quả, do thực tế tester bị hạn chế kiến thức về hệ thống.
+ Không có độ bao phủ, vì người kiểm thử không thể kiểm tra
các đoạn mã nguồn hoặc tập trung vào các đoạn mã bị lỗi. + Rất
khó để thiết kế được hầu hết các trường hợp kiểm thử cho hệ thống
6. Kiểm thử hộp trắng là gì? Ưu điểm và nhược điểm của kiểm thử hộp trắng?
- Kiểm thử Hộp trắng ( White Box Testing ) là một phương pháp
kiểm thử phần mềm trong đó tester biết về cấu trúc nội bộ / thiết
kế. Người kiểm tra chọn đầu vào để thực hiện các đường dẫn
thông qua mã và xác định đầu ra thích hợp. - Ưu điểm :
+ Khi sử dụng kiểm thử hộp trắng, kiểm thử viên có thể chắc chắn
rằng mọi đường xuyên qua phần mềm cần kiểm thử đã được xác định và kiểm thử. - Nhược điểm
+ Không đủ khả năng kiểm thử hết các đường thi hành vì số lượng quá nhiều
+ Kiểm thử bằng hộp trắng không thể đảm bảo rằng chương trình đã tuân theo đặc tả
+ Không phát hiện ra chương trình sai do thiếu đường dẫn
+ Không phát hiện được lỗi do sai dữ liệu
+ Kiểm thử viên cần có các kỹ năng về lập trình lOMoAR cPSD| 59691467
7. Kỹ thuật phân lớp tương đương là gì? Các bước thiết kế test
case dựa vào kỹ thuật phân lớp tương đương?
- Phân lớp tương đương: là 1 phương pháp kiểm thử hộp đen chia
miền đầu vào của 1 chương trình thành nhiều lớp dữ liệu, từ đó
suy dẫn ra các ca kiểm thử.
- Phương pháp này cố gắng xác định ra 1 ca kiểm thử mà làm lộ ra
1 lớp lỗi, do đó làm giảm tổng số các trường hợp kiểm thử phải được xây dựng.
- Các bước test case:
• Bước 1: Xác định các lớp tương đương
• Bước 2: Xác định các ca kiểm thử
8. Kỹ thuật phân tích giá trị biên là gì? . Các bước thiết kế test
case dựa vào kỹ thuật phân tích giá trị biên?
- Phân tích giá trị biên : là phương pháp kiểm thử hộp đen được
phát triển từ kỹ thật phân lớp tương đương, dùng để thiết kế các
ca kiểm thử bằng cách đầu vào dùng các giá trị biên sau khi đã phân lớp tương đương.
- Các giá trị biên: min, min -1, min+1, max-1, max+1.
- Các bước test case:
Bước 1: Xác định các biến đầu vào và các giá trị có thể có của chúng.
Bước 2: Xác định các giá trị biên: cụ thể, xác định các giá trị biên
của các biến đầu vào, bao gồm giá trị nhỏ nhất, giá trị lớn nhất và các giá trị nằm giữa.
Bước 3: Lựa chọn các giá trị để kiểm thử, bao gồm các giá trị biên
và các giá trị nằm giữa.
Bước 4: Tạo các ca kiểm thử để kiểm tra tính đúng đắn của phần mềm.
Bước 5: Cuối cùng, thực hiện kiểm thử và ghi nhận kết quả để
phân tích và xử lý các lỗi phát hiện được.
9. Kỹ thuật lập bảng giá trị là gì? . Các bước thiết kế test case
dựa vào kỹ thuật lập bảng giá trị?
- Kỹ thuật lập bảng giá trị : là kỹ thuật được áp dụng trong nhiều
lĩnh vực, phân tích logic trong các hoạt động nghiệp vụ, lập trình, kiểm thử . lOMoAR cPSD| 59691467
- Các bước thiết kế test case :
• Bước 1: Liệt kê tất cả các nguyên nhân ( cause )
• Bước 2: Tính tổng các phép kết hợp giữa các cause
• Bước 3: Điền giá trị vào các cột trong bảng
• Bước 5: Rút bớt số lượng các phép kết hợp dư thừa
• Bước 6: Kiểm tra các phép kết hợp có bao phủ hết mọi trường hợp hay không
• Bước 7: Bổ sung kết quả ( effect ) vào bảng quyết định
10. * Kiểm thử dòng điều khiển là gì? Ưu điểm và nhược điểm
của kiểm thử dòng điều khiển?
- Đường thi hành (Execution path) : là 1 kịch bản thi hành đơn vị
phần mềm tương ứng, cụ thể nó là danh sách có thứ tự các lệnh
được thi hành ứng với 1 lần chạy cụ thể của đơn vị phần mềm, bắt
đầu từ điểm nhập của đơn vị phần mềm đến điểm kết thúc của đơn vị phần mềm. -
11. * Kiểm thử dòng dữ liệu là gì? Ưu điểm và nhược điểm của
kiểm thử dòng dữ liệu?
12. Test Case là gì? Vai trò của Test Case?. Cách thiết kế 1 test case?
- Test case ( Kịch bản kiểm thử ) là một tập hợp các hành động được
thực thi để xác minh một function, mô tả quá trình dữ liệu đầu vào
(input),hành động (active) và kết quả (expected response) của một
hệ thống phần mềm có hoạt động đúng hay không.
- Vai trò của Test Case:
Test Case có vai trò rất quan trọng trong bất kỳ dự án nào, vì đây
là bước đầu tiên trong quá trình test và nếu có sai sót gì ở bước
này sẽ ảnh hưởng đến các giai đoạn tiếp theo trong vòng đời của Test Case.
- Cách viết Test case:
Bước 1: Xác định mục đích •
Bước 2: Xác định hiệu suất •
Bước 3: Xác định yêu cầu phi chức năng lOMoAR cPSD| 59691467 •
Bước 4: Xác định biểu mẫu •
Bước 5: Xác định tương tác giữa module 13. Hãy trình
bày 7 nguyên lý của kiểm thử?
1.Kiểm tra chỉ một lỗi hiển thị
2. Kiểm tra mọi thứ không thể
3.Kiểm tra sớm tiết kiệm thời gian và tiền bạc 4. Error gom nhóm
5. Đề phòng nghịch lý thuốc trừ sâu
6. Kiểm tra phụ thuộc vào bối cảnh7. Quan niệm sai về phần mềm không có lỗi 14.
Trình bày quy trình kiểm thử? 1. Phân tích yêu cầu
2. Lập kế hoạch kiểm thử
3. Phát triển kịch bản kiểm thử
4. Thiết lập môi trường kiểm thử 5. Thực hiện kiểm thử
6. Kết thúc chu kỳ kiểm thử 15.
Phân biệt Kiểm thử hộp đen và kiểm thử hộp trắng? Kiểm thử hộp đen Kiểm thử hộp trắng Khái
-Là quá trình thiết kế/triển -Là cấu trúc/thiết kế/triển niệm
khai thử nghiệm phần mềm khai kiểm thử phần mềm của
đối với hạng mục đang hạng mục đang được kiểm được kiểm thử thử
Cấp độ -Chủ yếu áp dụng cho - Chủ yếu áp dụng cho kiểm
áp dụng kiểm tra hệ thống cao cấp thử tích hợp thấp hơn Trách -Phần mềm độc lập
-Nhà phát triển phần mềm nhiệm Kiến -Không bắt buộc -Yêu cầu thức lập trình lOMoAR cPSD| 59691467 Kiến -Không cần thiết -Cần thiết thức thực hiện Cơ sở
-Thiết kế chi tiết các ca
-Các đặc tả yêu cầu của kiểm thử ca kiểm thử 16.
Phân biệt Verification và Validation?
Verification ( Xác Minh )
Validation ( Thẩm Định )
- là quy trình phát triển phần - là quá trình kiểm chứng
mềm có thõa mãn các yêu cầu chúng ta xây dựng phần mềm
đặt ra trong công đoạn trước có đúng theo yêu cầu khách hay không hàng hay không.
- Xác minh quan tâm tới việc - Thẩm định chỉ quan tâm đến
ngăn chặn lỗi giữa các công sản phẩm cuối cùng không còn đoạn lỗi
- Xác minh thường là hoạt -
động kỹ thuật và nó có sử dụng
các kiến thức về yêu cầu,
các đặc tả rời rạc của phần mềm