Tải bản đầy đủ (.ppt) (52 trang)

Tài liệu Kỹ nghệ phần mềm ppt

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 (300.94 KB, 52 trang )

Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 1
Bài 7:
Xác minh và thẩm định
KỸ NGHỆ PHẦN MỀM
© Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 2
NỘI DUNG

Đại cương

Các giai đoạn kiểm thử

Các loại kiểm thử

Tổ chức kiểm thử

Các hoạt động kiểm thử

Chiến lược kiểm thử tích hợp
© Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 3
Tài liệu

Pressman, Kỹ nghệ phần mềm, chương
18~19.

Sommerville: Software Engineering, chương
22, 23.
© Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 4

Xác minh (Verification)
- có đúng đặc tả không, có đúng thiết kế không
- phát hiện lỗi lập trình



Thẩm định (Validation)
- có đáp ứng nhu cầu người dùng không
- có hoạt động hiệu quả không
- phát hiện lỗi phân tích, lỗi thiết kế (lỗi mức cao)
V & V - Validation & Verification
ĐẠI CƯƠNG – Các khái niệm
© Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 5

Thẩm định/xác minh tĩnh
(kiểm tra - software inspection)
- không thực hiện chương trình
- xét duyệt yêu cầu, thiết kế, mã nguồn
- tiến hành ở mọi công đoạn phát triển
- khó đánh giá tính hiệu quả của sản phẩm
ĐẠI CƯƠNG – Các khái niệm
© Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 6
ĐẠI CƯƠNG – Các khái niệm

Thẩm định/xác minh động
(kiểm thử – software testing)
- thực hiện chương trình
- cần có mã nguồn
- phát hiện lỗi lập trình
- đánh giá tính hiệu quả phần mềm
- là cách duy nhất để kiểm tra yêu cầu phi chức năng
© Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 7
ĐẠI CƯƠNG – Mục tiêu

Xác định được mức độ phần mềm đáp ứng

được các yêu cầu (độ tin cậy)
© Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 8
ĐẠI CƯƠNG - Thời điểm tiến hành
Tiến hành ở mọi công đoạn phát triển phần mềm

phân tích
- xét duyệt đặc tả yêu cầu

thiết kế
- xét duyệt đặc tả thiết kế

mã hóa
- kiểm thử chương trình
© Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 9
ĐẠI CƯƠNG – Yêu c u i v i ki m thầ đố ớ ể ử

Tính lặp lại
- kiểm thử phải lặp lại được (kiểm tra xem
lỗi đã được sửa hay chưa)
- dữ liệu/trạng thái phải mô tả được

Tính hệ thống
- đảm bảo kiểm tra hết các trường hợp

Được lập tài liệu
- kiểm soát tiến trình/kết quả
© Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 10

Trong môi trường của phía phát triển


Kiểm thử đơn vị

Kiểm thử tích hợp

Kiểm thử hệ thống phần mềm

Kiểm thử chấp nhận

Trong môi trường của phía khách hàng

Kiểm thử alpha

Kiểm thử beta

Kiểm thử hệ thống thông tin
CÁC GIAI ĐOẠN KIỂM THỬ
© Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 11
CÁC GIAI ĐOẠN KIỂM THỬ - Phía phát triển
Methods
Combinations of
methods in
class
Packages
of classes
OO:
Include use-
cases
Function
Module
Module combination

Integration
tests
System
tests
Unit
tests
© Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 12

Unit test/Module test
(kiểm thử đơn vị)

Integration test
(test tích hợp)

System test
(test hệ thống phần mềm)

Acceptance test
(test chấp nhận)

Dựa vào TL thiết kế chi tiết

Test 1 module (hàm, thủ tục, đoạn code,
component…)

Dựa vào TL thiết kế tổng thể

Kiểm tra sự tương tác giữa các module

Dựa vào TL đặc tả yêu cầu phần mềm


Kiểm tra toàn bộ hệ thống

Dựa vào yêu cầu nghiệp vụ của khách hàng
CÁC GIAI ĐOẠN KIỂM THỬ - Phía phát triển
© Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 13

Kiểm thử alpha
Là kiểm thử chấp nhận được tiến hành ở môi
trường khách hàng.
CÁC GIAI ĐOẠN KIỂM THỬ - Phía khách hàng
© Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 14

Mở rộng của alpha testing

Được tiến hành với một lượng lớn users

User tiến hành kiểm thử không có sự hướng dẫn
của người phát triển

Thông báo lại kết quả cho người phát triển

Kiểm thử bê ta
CÁC GIAI ĐOẠN KIỂM THỬ - Phía khách hàng
© Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 15

M r ng ph m vi ki m th , nhìn nh n ph n m m ở ộ ạ ể ử ậ ầ ề
là m t y u t trong m t HTTT ph c t pộ ế ố ộ ứ ạ

Ki m tra các y u t :ể ế ố


Kh n ng ph c h i sau l iả ă ụ ồ ỗ

an toànĐộ

Hi u n ng và gi i h n c a ph n m mệ ă ớ ạ ủ ầ ề
CÁC GIAI ĐOẠN KIỂM THỬ - Phía khách hàng

Kiểm thử hệ thống
© Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 16

Kiểm thử chức năng (functional testing)
- dựa trên đặc tả chức năng
- phát hiện các sai sót về chức năng
- không quan tâm đến cách cài đặt
(black box)

Kiểm thử cấu trúc (structured testing)
- kiểm thử có nghiên cứu mã nguồn
- phân tích thứ tự thực hiện các lệnh
(white box)
CÁC LOẠI KIỂM THỬ
© Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 17
Các đồ thị luồng chương trình
Sequential statement block
If C Then S1 else S2;
S1
S2
C
If C Then S1;

S1
C
Case C of
L1: S1;
L2: S2;

Kn: Sn;
end;
Sn
C
© Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 18
Các đồ thị luồng chương trình
While C do S;
S
C
Do loop:
do S1 until C;
S1
C
For loop:
for I = 1 to n do S;
S
I = 1
I <=n
yes
no
F
T
T
F

© Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 19
CÔNG VIỆC CỦA TESTER

Tham gia phân tích yêu cầu của khách hàng

Lập kế hoạch test

Xây dựng tiêu chuẩn nghiệm thu

Xây dựng hướng dẫn test (bản thiết kế test, kịch bản test)

Thực hiện test

Hỗ trợ các vấn đề liên quan đến test

Báo cáo và tổng hợp kết quả test

Lập và lưu trữ các hồ sơ liên quan đến test

Thu thập và kiểm soát các dữ liệu liên quan đến các hoạt động test

Tính toán và phân tích các chỉ tiêu liên quan đến các hoạt động test
© Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 20
CÁC HOẠT ĐỘNG KIỂM
THỬ
Cài đặt và chuẩn bị
Test
Bắt đầu
Lập kế hoạch Test
Thiết kế Test

Test tích hợp
Kết thúc
Test hệ thống
Tổng hợp, báo cáo
Xem xét và Đánh giá
kết quả test
© Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 21
Construction Thử nghiệm
Construction Lập trình
Solution Thiết kế kiến trúc
Definition Xác định yêu cầu
Cài đặt và chuẩn bị
Test
Bắt đầu
Lập kế hoạch Test
Thiết kế Test
Test tích hợp
Kết thúc
Test hệ thống
Tổng hợp, báo cáo
Xem xét và Đánh giá
kết quả test
Termination (Kết thúc)
Transition (Triển khai)
Definition (Xác định yêu cầu)
Solution (Thiết kế kiến trúc)
Construction (Xây dựng)
Coding (lập trình)
Testing (thử nghiệm)
Initiation (khởi động)

CÁC HOẠT ĐỘNG KIỂM
THỬ
© Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 22
CÁC HOẠT ĐỘNG

Xác định các test case

Phân hoạch tương đương

Đường đi trong mô đun

Mô tả các test case
Vấn đề của thiết kế test
© Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 23

Tên mô đun/chức năng muốn kiểm thử

Dữ liệu vào
- dữ liệu thông thường: số, xâu kí tự, file,...
- môi trường thử nghiệm: phần cứng, OS,...
- thứ tự thao tác (khi kiểm thử giao diện)

Kết quả mong muốn
- thông thường: số, xâu kí tự, file,...
- màn hình, thời gian phản hồi

Kết quả thực tế
CÁC HOẠT ĐỘNG – mô tả test case
© Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 24
Thiết kế test cases


Nội dung cần có
Test Case ID: Test Item:
Wrote By: (tester name) Documented Date:
Test Type: Test Suite#:
Product Name: Release and Version No.:
Test case description:
Operation procedure:
Pre-conditions: Post-conditions:
Inputs data and/or events: Expected output data and/or events:
Required test scripts:
© Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 25
Phân tích và báo cáo
Khi nào tiến hành phân tích và báo cáo?
Khi có lỗi được tìm thấy, cần phải viết báo cáo ngay
Nội dung của báo cáo?
Problem ID current software name, release no. and version no.
Test type Reported by Reported date Test case ID
Subsystem (or module name) Feature Name (or Subject)
Problem type (REQ, Design, Coding, …) Problem severity (Fatal, Major, Minor, ..)
Problem summary and detailed description
Cause analysis How to reproduce? Attachments

×