You are on page 1of 31

Kiểm thử

phần mềm
Đề tài: Tìm hiểu về test level, test
method, test type

Gv: Nguyễn Thị Vui


Nhóm:
1.
Test Levels
Tetst level- các mức kiểm thử
Có 4 mức độ kiểm thử:
- Component testing(unit testing)
- Integration testing
- System testing
- Acceptance testing

3
Component testing(unit testing)

Unit là phần nhỏ nhất được complied, linked, và loaded


Unit testing được thực hiện bởi Developer
Sử dụng phương pháp test hộp trắng

4
Component testing(unit testing)

Mục đích

○ Tách riêng từng phần để kiểm tra và chứng minh các thành phần đó thực hiện
chính xác các yêu cầu chức năng trong đặc tả.
○ Lỗi được sửa sớm trong chu trình phát triển phần mềm vì vậy tiết kiệm thời
gian và chi phí sửa lỗi.
○ Mã nguồn được tái sử dụng nhiều hơn.
○ Tăng sự tin tưởng trong việc thay đổi hoặc bảo trì.
○ Mã nguồn đáng tin cậy hơn

5
Component testing(unit testing)

Có 2 khái niệm là Stub và Driver


Stub

Khi cần kiểm tra phương thức A, nhưng phương thức A lại cần dữ liệu từ phương thức B, mà phương thức B lại chưa được viết. Trong
trường hợp này ta có thể giả lập một phương thức B để có dữ kiện giúp chúng ta kiểm thử phương thức A, khi đó phương thức giả lập B
sẽ gọi là Stub

Driver

Ngược lại với Stub, khi chúng ta cần kiểm thử Module B hoặc phương thức B nhưng cần phải qua Module A hoặc phương thức A mới
kiểm thử được B, khi đó ta có thể giả lập Module hoặc phương thức A để ta có thể vào kiểm thử được B, lúc đó phương thức giả lập A
gọi là Driver.

6
Integration testing - kiểm tra tích hợp

- Software Integration là quá trình hợp nhất các mô đun đơn lẻ


vào thành một hệ thống (hoặc một tiểu hệ thống)
- Integration testing là test các liên kết giữa thành các phần
- Được thực hiện bởi các developer, một team test chuyên biệt
hay một nhóm chuyên developer/kiểm thử

7
Một số phương pháp kiểm
thử tích hợp

Bigbang: tất cả các


thành phần được tích
hợp cùng một lúc và
sau đó được kiểm thử.
Cách tiếp cận này được
thực hiện khi nhóm
kiểm thử nhận được
toàn bộ phần mềm.

8
Một số phương pháp kiểm
thử tích hợp
Sandwich/Hybrid: (còn gọi
Phương thức gia tăng chức năng)
Là sự kết hợp của hai phương
pháp Top Down và Bottom Up. Ở
đây, các module hàng đầu được
kiểm tra với các module thấp hơn
đồng thời các module thấp hơn
được tích hợp với các module
hàng đầu và được kiểm thử.
-Người thực hiện: Test level này
thường là Tester thực hiện.

9
Một số phương pháp kiểm
thử tích hợp

TopDown: Kiểm tra


diễn ra từ trên xuống
theo luồng điều khiển
của hệ thống. Các đơn
vị cao nhất được kiểm
tra trước và các cấp đơn
vị thấp hơn được kiểm
tra từng bước sau đó.

10
Một số phương pháp kiểm
thử tích hợp

Bottom up: Ngược


lại với Top Down, ở
phương pháp tiếp
cận này các đơn vị
cấp thấp được kiểm
tra trước và các cấp
đơn vị cao hơn
được kiểm tra sau
đó.

11
SYSTTEM TESTING-kiểm tra
hệ thống
- Được thực hiện sau khi hoàn tất kiểm thử đơn vị và kiểm
thử tích hợp
- Sử dụng phương pháp kiểm tra hộp den
- Kiểm tra dựa trên yêu cầu
- Là sân của nhóm tester độc lập
- Cần có một cơ chế để nhập inputs và quan sát reponses
cuả hệ thống, ví dụ dụ như GUI

12
SYSTTEM TESTING-kiểm tra
hệ thống
❖ Requirements:
- System requirements specification
- Interface specifications
- User guide
- Use cases
- Customers
- Domain experts
- Bug data
- Re-engineering

13
Acceptance test- kiểm
thử chấp nhận

- Để chứng minh phần mềm đã đủ sẵn sàng bàn giao cho


khách hàng
- Khi tất cả các testing stages khác đã được hoàn tất
- Dựa trên cơ sở là toàn bộ hay một phần của yêu cầu hệ
thống
- Các thủ tục test/demo phải được khách hàng chấp nhận
trước khi thực hiện để nghiệm thu

14
Acceptance test- kiểm
thử chấp nhận

- Phần mềm phải được thực thi trong thế giới thực của nó
(phần mềm, phần cứng)
- Nếu phần mềm phát triển cho một thị trường lớn thì
kiểm thử chấp nhận gồm 2 bước:
+ Alpha test: trên máy của nhà phát triển
+ Beta test: người dùng cài đặt và thử nghiệm trong thế
giới thực

15
2.
Test methods - các phương
pháp kiểm thử
Test method - phương
pháp kiểm thử

+ Kiểm thử tự động: Là xử lý một cách tự động các bước thực hiện các
testcase, kiểm thử tự động bằng một công cụ nhằm rút ngắn thời gian
kiểm thử.
+ Kiểm thử thủ công: là tester làm mọi công việc hoàn toàn bằng tay,
từ viết test case đến thực hiện test, mọi thao tác như nhập điều kiện
đầu vào, thực hiện một số sự kiện khác như click nút và quan sát kết
quả thực tế, sau đó so sánh kết quả thực tế với kết quả mong muốn
trong test case, điền kết quả test

17
phương pháp kiểm thử
thủ công

● Ưu điểm :
● Dễ dàng cho việc test giao diện, người tester sẽ có phản hồi nhanh và trực quan về giao diện ứng dụng.
● Mất ít chi phí cho các tool tự động và quy trình
● Khi có thay dổi nhỏ thì kiểm thử thủ công sẽ không bị mất nhiều thời gian để thay đổi các trường hợp kiểm thử
● Nhược điểm:
● Kết quả kiểm thử ít tin cậy hơn vì có thể sai sót do yếu tố con người
● Quá trình thực hiện các ca kiểm thử không được ghi lại, do vậy nó không tính tái sử dụng
● Với một số task khó thực hiện thủ công như performance testing và stress testing thì kiểm thử thủ công rất khó

để thực hiện
18
phương pháp kiểm thử
tự động
➔ Ưu điểm

● Sử dụng tool tự động giúp tìm kiếm được nhiều lỗi hơn
● Automation testing nhanh và hiệu quả
● Qúa trình kiểm thử được ghi lại, điều đó giúp chạy lại kịch bản kiểm thử nhiều lần và thực hiện

trên nhiều nền tảng khác nhau


● Automation testing được thực hiện bằng các công cụ phầm mềm, do đó nó hoạt động không mệt

mỏi không giống như người kiểm thử tester


● Automation testing năng suất và chính xác
● Phạm vi kiểm thử rộng vì kiểm tra tự động không quên kiểm tra ngay cả đơn vị nhỏ nhất
19
phương pháp kiểm
thử tự động
● Nhược điểm:
● Rất khó có cái nhìn đúng và trực quan về giao diện người dùng như màu sắc, font

chữ, vị trí, kích thước các button nếu như không có yếu tố con người
● Chi phí cho các tool kiểm thử có thể tốn kém, có thể làm tăng chi phí trong khâu

kiểm thử của dự án


● Nếu có một thay đổi nhỏ cũng sẽ mất thời gian để update kịch bản kiểm thử

20
- phương pháp kiểm thử
tự động
Ưu, nhược điểm Automation Testing

Ưu điểm

● Sử dụng tool tự động giúp tìm kiếm được nhiều lỗi hơn
● Automation testing nhanh và hiệu quả
● Qúa trình kiểm thử được ghi lại, điều đó giúp chạy lại kịch bản kiểm thử nhiều lần và thực hiện trên nhiều nền tảng khác nhau
● Automation testing được thực hiện bằng các công cụ phầm mềm, do đó nó hoạt động không mệt mỏi không giống như người kiểm thử tester
● Automation testing năng suất và chính xác
● Phạm vi kiểm thử rộng vì kiểm tra tự động không quên kiểm tra ngay cả đơn vị nhỏ nhất

Nhược điểm

● Rất khó có cái nhìn đúng và trực quan về giao diện người dùng như màu sắc, font chữ, vị trí, kích thước các button nếu như không có yếu tố con người
● Chi phí cho các tool kiểm thử có thể tốn kém, có thể làm tăng chi phí trong khâu kiểm thử của dự án
● Nếu có một thay đổi nhỏ cũng sẽ mất thời gian để update kịch bản kiểm thử

21
3.
Test types - các loại kiểm
thử
Test types - các loại
kiểm thử

23
Testing of function - kiểm thử
chức năng
- Kiểm thử chức năng: chú trong đến chức năng của chương trình, đảm
bảo các chức năng của hệ thống thỏa mãn đúng yêu cầu
- Kiểm thử chức năng được thực hiện bằng 2 phương pháp
+ Requirement - based: dùng đặc tả để làm cơ sở thiết kế các test case
chúng ta nên xét độ ưu tiên của yêu cầu trên các tiêu chí rủi ro và sử
dụng độ ưu tiên kiểm thử, đảm bảo cho những phần quan trong nhất
được kiểm tra đầy đủ
+ Business - process - based sử dụng các kiến thức về quy trình nghiệp vụ,
quy trình nghiệp vụ mô tả các kịch bản liên quand dến nghiệp vụ hằng
ngày của hệ thống

24
Testing of function - kiểm thử chức
năng
Kiểm thử chức năng gồm 5 bước:
1. Xác định các chức năng mà phần mềm mong muốn sẽ thực hiện.
2. Tạo các dữ liệu đầu vào dựa trên các tài liệu đặc tả kỹ thuật SRS của
các chức năng.
3. Xác định các kết quả đầu ra dựa trên các tài liệu đặc tả kỹ thuật của
các chức năng.
4. Thực hiện các trường hợp kiêm thử.
5. So sánh kết quả thực tế và kết quả mong muốn.

25
Non – Functional testing - kiểm thử phi chức
Kiểm thử phi chức năng(Non – Functional testing) là kiểm
năng
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,…

26
Non – Functional testing - kiểm thử phi chức
năng
Kiểm thử phi chức năng bao gồm:
● Performance Testing (Kiểm thử hiệu năng)
● Load Testing (Kiểm thử khả năng chịu tải)
● Stress Testing (Kiểm thử áp lực)
● Usability Testing (Kiểm thử khả năng sử dụng)
● Maintainability Testing (Kiểm thử khả năng bảo trì)
● Reliability Testing (Kiểm thử độ tin cậy)
● Portability Testing (Kiểm thử khả năng thích ứng)

27
Structural Testing (Kiểm thử cấu
trúc)
Kiểm thử cấu trúc được coi là 1 loại white box testing.
Kiểm thử cấu trúc là kiểm thử dựa trên phân tích cấu trúc bên trong
của thành phần hoặc hệ thống
Chủ yếu áp dụng ở Kiểm thử thành phần, kiểm thử tích hợp

28
Change-related Testing (Kiểm thử thay
đổi)
- Mục đích là kiểm tra xem phần mềm có vận hành trơn tru
sau những lần sửa lỗi không
- Gồm có 2 loại chính:
+ Confirmation Testing (Kiểm thử xác nhận)
+ Regression Testing (Kiểm thử hồi quy)

29
Change-related Testing (Kiểm thử thay
đổi)
- Mục đích là kiểm tra xem phần mềm có vận hành trơn tru
sau những lần sửa lỗi không
- Gồm có 2 loại chính:
+ Confirmation Testing (Kiểm thử xác nhận)
+ Regression Testing (Kiểm thử hồi quy)

30
THANKS!
Cảm ơn cô và các bạn đã lắng nghe.

31

You might also like