Tải bản đầy đủ (.pptx) (35 trang)

Các kỹ thuật kiểm thử phần mềm mà Tester phải biết

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.74 MB, 35 trang )

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP HCM
HỆ THỐNG ĐÀO TẠO CNTT T3H – CƠ SỞ HÀ NỘI

Bài 3:

Các kỹ thuật kiểm thử

GV: Trương Khánh Cường


Nội dung chính
 Hai loại chính của kiểm thử và các kỹ
thuật của nó:
 Kiểm thử tĩnh (Static testing)
 Kiểm thử động (Dynamic testing)


Hai cách tiếp cận kiểm thử
Testing

Static testing

Dynamic testing

Static techniques

Dynamic
techniques


Hai cách tiếp cận kiểm thử (t)


 Static testing (Kiểm thử tĩnh):
 Các câu hỏi nảy sinh:
+ Có thể đánh giá và phân tích các tài liệu: requirement, design, test
plan, hoặc user manual (tài liệu hướng dẫn sử dụng)?
+ Làm thế nào để kiểm tra trước source code một cách hiệu quả
trước khi execution?

Static testing (e.g.
reviews )

Tất cả các sản
phẩm phần mềm
(software work
products) đều có thể
được kiểm thử bằng
các kỹ thuật review


Hai cách tiếp cận kiểm thử (t)
 Static testing (Kiểm thử tĩnh) (t):
 Sản phẩm phần mềm (software work products) được kiểm tra
bằng tay, hoặc bằng 1 tập các tool, nhưng không được thực thi.
 Dynamic testing (Kiểm thử động):
 Phần mềm (software) được thực thi bằng cách sử dụng tập các
giá trị đầu vào; và tập các giá trị đầu ra tương ứng của nó được
kiểm tra và so sánh với những gì mong đợi.
 Chỉ có thể được áp dụng cho mã nguồn (software code)
 Tìm defect & xác định các thuộc tính chất lượng của mã nguồn
 Không được sử dụng cho đa số các sản phẩm phần mềm
(software work products)



Hai cách tiếp cận kiểm thử (t)
 Hai phương pháp này:
 Bổ sung cho nhau
 Tìm ra các loại defect khác nhau một cách hiệu quả
(effectively and efficiently)

Static testing

Dynamic
testing


1.1. Static testing – Tổng quan
 Lợi ích:
 Được tiến hành sớm trong vòng đời => sớm nhận được các phản
hồi về các vấn đề chất lượng
 Phát hiện sớm defect ở giai đoạn đầu => chi phí làm lại tương đối
thấp => cải thiện được chất lượng với giá thành rẻ
 Công sức làm lại giảm đáng kể => năng suất phát triển tăng
 Góp phần làm tăng nhân thức về các vấn đề chất lượng
 Loại defect tìm thấy:
 Sai khác với các chuẩn, lỗi requirement, lỗi thiết kế, các
đoạn code không thể maintain, không thống nhất về đặc
tả giao diện
=> Tìm ra defect hơn là failure


1.2. Static testing – Quy trình review

 Các loại review thay đổi từ rất khơng hình thức đến hình thức:

- Có thể khơng theo quy
trình
- Khơng u cầu tài liệu

- Tn theo quy
trình chính thức
- Phải lập tài liệu


1.2. Static testing – Quy trình review
 Quy trình formal review

 Plan:
- Định nghĩa các tiêu chí review
- Lựa chọn người tham gia
- Phân chia vai trò
- Định nghĩa các tiêu chí đầu vào, đầu ra
- Chọn phần tài liệu để review
- Kiểm tra tiêu chí đầu ra


1.2. Static testing – Quy trình review
 Quy trình formal review

 Kick-off:
- Chuyển tài liệu
- Giải thích mục tiêu, quy trình và tài liệu cho những người tham gia
 Individual preparation (Chuẩn bị của cá nhân):

- Chuẩn bị cho review meeting bằng cách xem trước tài liệu
- Ghi chú lại các lỗi tiềm năng, đặt câu hỏi và comment


1.2. Static testing – Quy trình review
 Quy trình formal review

 Review meeting (kiểm tra, đánh giá, ghi chép lại kết quả):
- Thảo luận hoặc ghi lại bằng các tài liệu kết quả hoặc biên bản
- Ghi chú lại defect, đưa ra chỉ dẫn để xử lý defect, ra quyết định về
defect
- Kiểm tra, đánh giá và ghi lại những vấn đề của buổi meeting cũng
như qua các trao đổi điện tử (email)
 Rework:
- Fix defect tìm thấy
- Ghi lại trạng thái của defect


1.2. Static testing – Quy trình review
 Quy trình formal review

 Follow-up:
- Kiểm tra lại defect đã được giải quyết hay chưa?
- Thu thập số liệu
- Kiểm tra kết quả đầu ra


1.2. Static testing – Vai trò và trách nhiệm
Trong formal review, vai trò từng cá nhân:
 Manager (người quản lý): Quyết định review, lên lịch và xác định

mục tiêu
 Moderator (Người điều khiển buổi review): chỉ dẫn review các tài
liệu hoặc tập tài liệu, điều hành meeting, theo dõi sau meeting
 Author (Tác giả): người viết tài liệu được review
 Reviewer: có kiến thức => Cho ý kiến
 Scibe (người làm tài liệu): ghi chép lại các vấn đề trong suốt buổi
meeting


1.2. Static testing – Các loại review
 Informal review:
- Không có quy trình
- Hai người lập trình review chéo hoặc technical leader review
code/design
- Giá trị phụ thuộc vào người review
- Mục đích: 1 cách khơng đắt để lấy một số lợi ích


1.2. Static testing – Các loại review
 Walkthrough:
- Meeting được tổ chức bởi author
- Thực hiện dạng scenarios, dry run, các nhóm tham gia chéo
- Các phần của buổi meeting có thể tùy chọn
- Tùy chọn có người ghi chép (scribe)
- Thực tế có nhiều dạng từ informal đến formal
- Mục đích: học hỏi, thu thập hiểu biết, tìm lỗi


1.2. Static testing – Các loại review
 Technical review:

- Lập tài liệu, định nghĩa quy trình phát hiện defect bao gồm sự tham
gia của các chuyên gia kỹ thuật và các nhóm chéo. Tùy chọn có sự
tham gia quản lý hay không.
- Thực hiện như 1 peer review mà không có sự tham gia của quản lý
- Lý tưởng là moderator được đào tạo
- Chuẩn bị tài liệu
- Có thể dùng checklist
- Thực hiện report
- Từ informal đến formal
- Mục đích: thảo luận, ra quyết định, đánh giá giải pháp thay thế, tìm
defect, xử lý vấn đề kỹ thuật, kiểm tra sự thống nhất của đặc tả,
plan, quy định và chuẩn


1.2. Static testing – Các loại review
 Inspection:
- Tổ chức bởi trained moderator
- Kiểm tra chéo
- Định nghĩa vai trò
- Thu thập số liệu
- Quy trình chính thức theo chuẩn và checklist
- Xác định tiêu chí đầu vào và đầu ra
- Chuẩn bị meeting
- Report
- Follow-up
- Tùy chọn người đọc
- Mục đích: tìm defect


1.3. Static testing – Phân tích tĩnh bởi tool

 Một số điểm chính:
- Được thực hiện ở requirement, design hoặc code mà không cần
thực thi (execute)
- Lý tưởng là được thực hiện trước khi review
- Không liên quan đến các thuộc tính động của requirement, design,
code (như test coverage)
- Mục đích: tìm defect


2. Dynamic testing – Các kĩ thuật thiết kế kiểm thử
 Các kỹ thuật kiểm thử nói chung


2. Dynamic testing – Kiểm thử hộp đen
 Kỹ thuật phân vùng tương đương: Chia tập giá trị đầu vào thành
những miền tương đương, phản ứng như nhau với chương trình.
- VD:


2. Dynamic testing – Kiểm thử hộp đen
 Kiểm thử xác định giá trị biên: (Boundary Value Analysis)
Dựa trên điểm giới hạn giữa các phân vùng


2. Dynamic testing – Kiểm thử hộp đen
 Kiểm thử xác định giá trị biên:
Test form đăng ký vay tiền sau:
Customer Name

2 – 64 char


Account number

6 digits, 1st non-zero

Loan

500 - 9000

Term

1 – 30 years

Monthly repay

Min 10$


2. Dynamic testing – Các kĩ thuật thiết kế kiểm thử
 Kỹ thuật dùng bảng quyết định:
- VD: Login với giá trị Email và Password là True/False


2. Dynamic testing – Các kĩ thuật thiết kế kiểm thử
 Kỹ thuật dùng bảng quyết định:
- VD: Login với giá trị Email và Password là Blank/Valid/Invalid


2. Dynamic testing – Các kĩ thuật thiết kế kiểm thử
 Optimize TCs:



×