You are on page 1of 34

Test Levels and Test Types

Author: TuNTA
2021/10/07- Hà Nội
Ôn tập bài trước

TS
E N 1. Kiểm thử là gì?

N T 2. Có bao nhiêu nguyên lý trong kiểm thử? Kể

CO tên các nguyên lý đó?

3. Phân biệt Error/ Defects/ Failures


Ôn tập bài trước

TS
E N 1. Bạn biết những mô hình phát triển phần

N T mềm nào?

CO
2. Sự khác nhau cơ bản giữa mô hình
WaterFall, V-Model, Scrum là gì?
3. Những sự kiện chính diễn ra trong 1 sprint
theo mô hình Scrum là gì?
TS
N TEST LEVELS
N TE
C O
TS 1
E N Unit Testing

N T
CO
2
Integration Testing

3 System Testing

4 Acceptance Testing
1 Unit Testing

Kiểm tra mức đơn vị lập trình

www.deha-soft.com
1.1 Khái niệm

● Unit testing còn được biết đến với tên gọi là


Component, Module và Program testing. Unit testing
kiểm tra các hàm trong source code để tìm ra lỗi.
● Kiểm thử đơn vị được thực hiện trong quá trình phát
triển ứng dụng. Lỗi ở level này thường được fix ngay
sau khi chúng được tìm ra mà không cần lưu lại và
quản lý như các test level khác.
1.2 Mục đích và các yếu tố khác

● Mục đích: Xác nhận từng unit của phần mềm được
phát triển đúng như được thiết kế.
● Khiếm khuyết và thất bại điển hình
+ Chức năng không chính xác (ví dụ: không được mô
tả trong tài liệu phân tích thiết kế)
+ Vấn đề về luồng dữ liệu
+ Code và logic không chính xác
2 Integration Testing

Kiểm tra mức tích hợp các đơn vị

www.deha-soft.com
2.1 Định nghĩa

Integration testing là quá trình kiểm thử


interface và sự tương tác giữa những thành
phần khác nhau trong hệ thống. Mỗi môđun
phần mềm riêng biệt được kết hợp lại và kiểm
thử theo nhóm.
2.2 Mục đích

● Integration Testing dùng để phát hiện lỗi tương tác xảy ra giữa các
Unit
● Tập chung chủ yếu vào các giao diện và thông tin giữa các
module.
=> phát hiện lỗi tương tác giữa các unit.
2.2 Mục đích và các yếu tố khác

Hình 2.2.1 Hình 2.2.2


3 SYSTEM TESTING

Kiểm tra mức hệ thống sau khi tích hợp

www.deha-soft.com
3.1 Định nghĩa
❖ Là 1 level kiểm thử hệ thống
hay kiểm thử toàn bộ chức
năng và giao diện của hệ
thống.
❖ Mục đích là để đánh giá hệ
thống có đáp ứng theo đúng
yêu cầu nghiệp vụ, yêu cầu
về chức năng đưa ra hay
không.
3.2 Phân loại
4 ACCEPTANCE TESTING

Kiểm tra để chấp nhận sản phẩm

www.deha-soft.com
4.1 Định nghĩa

● Acceptance Testing là gì?


Kiểm tra xem phần mềm đã thỏa mãn tất cả yêu cầu
của khách hàng chưa? Khách hàng có chấp nhận
sản phẩm hay không?
● Mục đích sử dụng?
- Thiết lập niềm tin vào chất lượng của toàn bộ hệ
thống
- Xác nhận rằng hệ thống đã hoàn tất và sẽ hoạt động
như mong đợi
- Xác minh rằng các hành vi chức năng và phi chức
năng của hệ thống được quy định.
4.2 Phân loại

● Alpha testing: Được thực hiện tại môi trường của tổ chức phát triển, không
phải bởi nhóm phát triển mà bởi các khách hàng tiềm năng hoặc khách hàng
hiện tại.
● Beta testing: Được thực hiện bởi khách hàng tiềm năng hoặc hệ thống hiện
có tại các địa điểm của họ. Test Beta có thể đến sau khi test alpha, hoặc có
thể xảy ra mà không có bất kỳ test alpha nào trước đó đã xảy ra
TS
N TEST TYPES
N TE
C O
TS 1
E N Functional Testing

N T
CO
2 Non-Functional Testing

3 Structural Testing(White box


Testing)

4 Change related Testing


1 FUNCTIONAL TESTING

Kiểm tra chức năng

www.deha-soft.com
1.1 Khái niệm và mục đích sử dụng

● Kiểm tra chức năng của một phần mềm hoặc một ứng dụng đang được thử nghiệm.
● Kiểm tra hành vi của phần mềm được thử nghiệm dựa trên yêu cầu của khách hàng, một
tài liệu gọi là đặc tả phần mềm hoặc Đặc tả yêu cầu ( Requirement Specification) được
sử dụng làm hướng dẫn để kiểm tra ứng dụng.
● Một dữ liệu ( test data) thử nghiệm được dựa trên tài liệu và một bộ Test Case được
chuẩn bị. Phần mềm đó sẽ được kiểm thử trong môi trường thực tế để kiểm tra xem kết
quả thực tế ( Actual Result) có đồng bộ với kết quả mong đợi ( Expected Result) hay
không.
1.2 Các loại Functional Testing phổ biến

1. Smoke Testing
- Loại thử nghiệm này được thực hiện trước khi thử nghiệm hệ thống thực tế để kiểm tra
xem các chức năng quan trọng có hoạt động tốt để thực hiện thử nghiệm rộng rãi hơn
không.
- Giúp tiết kiệm thời gian cài đặt lại bản build mới và tránh thử nghiệm thêm nếu các chức
năng quan trọng không hoạt động
2. Sanity Testing
- Sanity Testing tập trung vào một hoặc hai chức năng
- Sau thay đổi hoặc fix bug được thực hiện trong code, bản build là sẵn sàng cho tester.
Tester sẽ thực hiện Sanity Testing trên những chức năng thay đổi thay vì thực hiện
regression testing để tiết kiệm thời gian.
1.2 Các loại Functional Testing(tiếp)

3. Positive testing
● Thực hiện thử nghiệm trên hệ thống bằng cách cung
cấp dữ liệu đầu vào hợp lệ.
● Kiểm tra xem ứng dụng có hoạt động như mong đợi với
đầu vào đúng hay không.
4. Negative testing
● Thực hiện trên hệ thống bằng cách cung cấp dữ liệu
đầu vào không hợp lệ.
5. Localization Testing
- Thực hiện thử nghiệm chức năng khi thay đổi ngôn
ngữ
2 NON-FUNCTIONAL TESTING

Kiểm tra phi chức năng

www.deha-soft.com
2.1 Khái niệm và mục đích sử dụng

● Kiểm tra các đặc tính chất lượng của hệ thống, các tester sẽ quan tâm đến việc mọi
chức hoạt động tốt như thế nào, tốc độ nhanh như thế nào, phản hồi và số lượng
người truy cập vào cùng một thời điểm cũng như xem mức độ sử dụng CPU, Ram,
Pin,… của phần mềm…
● Kiểm thử phi chức năng cũng giống như kiểm thử chức năng được thực hiện ở tất cả các cấp
độ kiểm thử.
2.1 Khái niệm và mục đích sử dụng
3 WHITE-BOX TESTING

Kiểm tra hộp trắng

www.deha-soft.com
3.1 Khái niệm và mục đích sử dụng

- Test hộp trắng xuất phát các test dựa trên cấu trúc hoặc triển khai bên trong của hệ
thống
- Độ bao phủ của cấu trúc là mức độ mà một số loại yếu tố của cấu trúc đã được thực
hiện bằng các test hoặc được biểu thị bằng phần trăm của mỗi loại yếu đố được bảo
hiểm
4 CHANGE-RELATED TESTING

Kiểm tra thay đổi

www.deha-soft.com
4.1 Confirmation Testing
4.2 Regression Testing

● Khái niệm

Regression Testing được thực hiện nhằm xác nhận một chương trình hoặc một
thay đổi mã gần đây không làm ảnh hưởng đến các chức năng hiện có

● Mục đích

Xác định được những sự thay đổi mã không làm ảnh hưởng đến những chức
năng đã tồn tại

● Sử dụng

Regression Testing chỉ được thực hiện khi có bất kỳ sự sửa chữa hoặc thay đổi
nào được thực hiện trong project hiện có
Thảo luận
THANK YOU

You might also like