Professional Documents
Culture Documents
Software
Teteste
r
Tester for
Base
Đặc tả
Thiết kế
Lập trình
Kiểm thử
Bảo trì
Loại bỏ
Tester for
Base
Pha xác định yêu cầu (Phase 1)
Hay còn gọi là pha tìm hiểu khái niệm
- Thiết kế chi tiết: thiết kế từng Module một cách chi tiết
Tester for
Base
Pha lập trình (Phase 4)
Xây dựng và phát triển PM đáp ứng các yêu cầu và tiêu
chuẩn đã xác định.
Ở pha này các dev thực hiện viết chương trình PM theo
một ngôn ngữ lập trình cụ thể.
Kết nối các Module đã viết của chương trình thành một
phần mềm thống nhất và chạy thử.
Chỉnh sửa cho đến khi PM chạy tốt
Ví dụ:
Các phần mềm sử dụng trên Winform: C/C++, C#.NET, Java, trên
Webform: ASP.NET, PHP, JSP,…
Tester for
Base
Pha lập trình (Phase 4)
Tester for
Base
Pha kiểm thử (Phase 5)
Thực hiện test phần mềm
Liên tục cập nhật, báo cáo tình trạng phần mềm
Chi phí bảo trì PM lớn hơn chi phí phát triển một PM
mới
Cty, cơ quan sử dụng PM chưa đồng nhất ý kiến, còn xẩy
ra nhiều bất cập
Kiên trì
Tư duy logic
Chủ động cập nhật và tìm hiểu các kiến thức mới
Tester for
Base
Tố chất của một
Tester
Tester for
Base
Vai trò của Tester
Bảo đảm rằng PM bám sát và thỏa mãn các yêu cầu đặt
ra
Phát hiện những lỗi cần sửa cũng như những đề xuất
để cải tiến PM.
Một kiểm thử viên thì không có cơ hội để sửa sai, nhất
là khi ứng dụng đó được đưa vào sử dụng.
Dù muốn hay không Tester vẫn sẽ là những người đầu
tiên bị “truy cứu” khi một sản phẩm PM vẫn còn tồn tại
hoặc phát sinh lỗi khi đưa ra thị trường.
Tester for
Base
Những thành phần tham gia sản xuất PM
Để đảm bảo chất lượng phần mềm được tiến hành và triển khai
theo suốt các giai đoạn trong vòng đời phát triển PM, từ giai
đoạn xác định yêu cầu đến khi triển khai gồm:
Phân tích viên
Thiết kế viên
Analytics
Tester for
Base
Thiết kế viên
Chuyển các yêu cầu đã được phân tích thành thiết kế cho
hệ thống.
Thiết kế phù hợp với môi trường
lập trình và phát triển
sau này.
Công việc thiết kế sẽ chi tiết hóa các yêu cầu khách hàng
thành các chức năng của phần mềm. Nếu thiết kế sai
hoặc thiếu có thể khi triển khai sẽ bị đổ vỡ.
Tester for
Base
Thiết kế viên
Tester for
Base
Lập trình viên
Tester for
Base
Lập trình viên
Xây dựng và phát triển PM đáp ứng các yêu cầu và tiêu
chuẩn đã xác định
Lập trình tốt sẽ tránh được các lỗi cơ bản, các lỗi phát
sinh khi triển khai và chất lượng PM tăng lên
Tester for
Base
Quản lý/ TestLeader/Tester
Xác định được tối đa lỗi và xử lý trước khi triển khai.
Đây là người có vai trò quan trọng nhất trong công tác
đảm bảo chất lượng PM.
Nếu tester yếu kém sẽ dẫn tới một dự án thất bại ngay
khi triển khai.
Trên thực tế, việc kiểm thử được lồng vào các giai đoạn
phát triển của PM để tăng độ chính xác và chất lượng
cho PM.
Tester for
Base
Quản lý/
TestLeader/Tester
Tester for
Base
Lập kế
hoạch
Chuẩ
n bị
kiểm
thử
Quy trình kiểm thử PM
o Các phương pháp hộp trắng để kiểm thử dựa vào cấu trúc bên trong.
• Đây là một tiêu chuẩn đánh giá PM đảm bảo chất lượng
Tester for
Base
Báo cáo & phân tích dữ liệu kiểm thử
Ví dụ về báo cáo kiểm thử
STT Tester Tổng số lỗi gán cho Dev
01 Nguyễn Mai Anh 200 bug – Lê Hải Hà
02 Nguyễn Thị Hiền 125 bug – Nguyễn Văn Hùng
03 Đỗ Thị Thu Tuyền 121 bug – Trần Hạnh
04 Nguyễn Trà Giang 165 bug – Nguyễn Ngọc Minh
05 Vũ Lan Hương 285 bug – Lê Minh Huy
Nội dung
4
©Ian Sommerville
Các mức kiểm thử
• Đơn vị
—Tìm lỗi trong từng đơn vị
• Tích hợp
—Tìm lỗi khi ghép các đơn vị
• Hệ thống
—Tìm lỗi khi hệ thống đã tích hợp xong, trước khi phát
hành, chuyển giao
• Chấp thuận
-Người sử dụng dùng thử xem hệ thống đáp ứng đúng
mong muốn chưa.
-Còn gọi là kiểm thử alpha.
6
BUỔI 2:
CÁC MỨC KIỂM THỬ
Giảng viên: LÊ TRUNG KIÊN
Tester for
Base
Chú ý: Các testcase này nên được giữ lại để tái sử dụng
Tester for
Base
o Tích hợp các Unit đơn lẻ thành các hệ thống nhỏ (subsystem) và
cuối cùng là hoàn chỉnh hệ thống (system) để chuẩn bị cho kiểm
tra ở mức hệ thống (System Test)
Tester for
Base
Integration Test - Kiểm thử tích hợp
Ví dụ:
Click
Nhập đầu vào Tạo Hồ Sơ Thực hiện
ntn?
Tester for
Base
Integration Test - Kiểm thử tích hợp
Có 4 loại kiểm tra trong Integration Test
3. Kiểm tra hiệu năng (performance)
- Kiểm tra các giới hạn (sử dụng tài nguyên) của hệ
thống
- Cách kiểm tra:
o Integration Test: chú trọng sự giao tiếp giữa các đơn thể (Unit)
khi chúng làm việc cùng nhau.
Giai đoạn này thường được khách hàng thực hiện (hoặc
ủy quyền cho một nhóm thứ ba thực hiện)
Tester for
Base
Acceptance Test – Kiểm tra chấp nhận sản phẩm
Trong hầu hết mọi trường hợp, các phép kiểm tra của
System Test và Acceptance Test gần như tương tự,
nhưng bản chất và cách thức thực hiện lại rất khác biệt
Thực tế cho thấy, nếu khách hàng không quan tâm và
không tham gia vào quá trình PTPM thì kết quả
Acceptance Test sẽ sai lệch rất lớn, mặc dù PM đã trải
qua tất cả các kiểm tra trước đó
Tester for
Base
Acceptance Test – Kiểm tra chấp nhận sản phẩm
Sự sai lệch này liên quan đến việc hiểu sai yêu cầu cũng
như sự mong chờ của khách hàng
Ví dụ:Một PM xuất sắc vượt qua các phép kiểm tra sau
cùng vẫn thất vọng vì:
• Lỗi (error)
• Con người mắc lỗi trong quá trình làm
• Sai sót, khiếm khuyết (fault/defect)
sai sót trên sản phẩm (tài liệu, mã nguồn), do con người
mắc lỗi làm ra.
• Trục trặc (failure)
• Trục trặc xảy ra khi chạy phải khiếm khuyết
• Sự cố (incident)
• Sự cố là triệu chứng của trục trặc mà con người nhận
biết được.
7
Thuật ngữ
*■
8
Các mức kiểm thử
9
Các mức kiểm thử (tiếp)
Kiểm thử và gỡ lỗi (debugging)
11
Ca kiểm thử tốt
14
Kiểm thử hộp đen
15
Kiểm thử hộp trắng
• Còn gọi là kiểm thử cấu trúc, kiểm thử logic
• Các tiêu chuẩn bao phủ
• Lệnh
• Mọi lệnh đều được thử
• Vòng lặp
• 0, 1, >1 lần
• Đường đi
• Tất cả các khả năng chạy của chương trình
• Nhánh (if, while, ..)
• Biểu thức điều kiện được thử với cả True và False
• Các nhánh đều được chạy ít nhất một lần
• 16
So sánh kiểm thử hộp trắng và hộp đen
18
Kiểm thử tích hợp
• Mục tiêu:
• Phát hiện vấn đề khi ghép các mô-đun/thành
phần với nhau
• Các vấn đề
—Bên trong: giữa các thành phần
• Gọi: call/message passing/...
• Tham số: kiểu, số lượng, thứ tự, giá trị
• Kết quả trả về: ai, kiểu, trình tự
-Bên ngoài:
• Ngắt (wrong handler?)
• Thời gian vào ra
• Tương tác 19
Kiểm thử hệ thống
20
Khi nào nên dừng kiểm thử
21
Kiểm thử chấp thuận
• Có hai loại kiểm thử chấp nhận
• Bởi cơ quan phát triển gọi là BAT
• Bởi người dùng gọi là UAT
• Mục đích: kiểm tra sự hài lòng của người sử dụng
• Cơ sở: mong muốn của người dùng
(không xét đến tài liệu đặc tả)
• Môi trường: thật
• Người thực hiện: bởi và cho người sử dụng
• Các ca kiểm thử:
• Sử dụng lại từ kiểm thử hệ thống
• Do người dùng thiết kế • 22
Kiểm thử hồi qui
• Khi một hệ thống được chỉnh sửa (sửa lỗi,
thêm/bớt chức năng,..) toàn bộ bộ kiểm thử cần
phải chạy lại
• Đảm bảo các tính năng đang hoạt động tốt không bị ảnh
hưởng bởi chỉnh sửa
• Kiểm thử lại tự động trước khi lưu thay đổi vào
kho (repo.)
• Cần các chiến lược kiểm thử tăng dần với hệ thống
lớn
23
Nhiều công cụ hỗ trợ các loại kiểm thử
24
Tester for
Base
1 2 3
Kiểm thử Kiểm thử Kiểm thử
hộp đen hộp trắng hộp xám
Tester for
Base
Tester for
Base
Dựa theo các tài liệu đặc tả, tài liệu phân thích thiết kế
để thực hiện test
False
Điều Kiện A
True
stanford.com.vn
Sử dụng
thực tế
c hiện
Tester & KH kiểm Sửa lỗi & Cập nhật Hoàn thiện
thử PM
Hình ảnh minh họa kiểm thử Alpha và
Beta
Tester for
Base
BUG
Tester for
Base
Khái niệm Bug
Tester for
Base
Khái niệm Bug
Trong phần mềm, bug dùng để chỉ một lỗi
nhỏ (lớn)
trong quá trình kiểm thử PM.
Việc tìm ra bug khiến cho PM càng
được hoàn chỉnh,
tránh sai sót tối đa khi đưa PM ứng dụng vào thực tế.
Bug phát hiện được cần phải liên hệ và phân công cho
DEV chịu trách nhiệm sửa lỗi này.
Tester for
Base
Khái niệm Bug
Thông tin đầy đủ để DEV có thể hiểu được lỗi
Tester cho ý kiến về mức độ nghiêm trọng của
lỗi
Xác định được nó bị lỗi ở chỗ nào?
Phần mềm thực hiện một số việc mà bản đặc tả yêu cầu nó
không được thực hiện
Ví dụ: Khách hàng không muốn PM thực hiện công việc xác nhận
chữ ký xét duyệt hồ sơ đã hoàn thành
Tester for
Base
Học sinh nhập thông
tin muốn nhận học Hồ sơ hợp lệ
bổng du học
Hồ sơ được in
ra file Đúng
Word, giám đốc kí
Tester for
Base
Khái niệm Bug
Phần mềm thực hiện một số chức năng
mà bản đặc tả không đề cập tới.
Ví dụ: PM thực hiện chức năng ký xét duyệt hồ sơ nhận học
bổng
Dựa theo các tài liệu trên giúp tester viết testcase phục
vụ cho việc kiểm thử PM đạt hiệu quả cao nhất.
Bài tập
25