Kiểm thử và đảm bảo chất lượng phần mềm

11
Kiểm thử và đảm bảo chất lượng phần mềm Kiểm thử dựa trên mô hình 1

description

Kiểm thử và đảm bảo chất lượng phần mềm. Kiểm thử dựa trên mô hình. Nội dung. Mô hình Kiểm thử dựa trên mô hình (MBT) Công cụ. Mô hình. Một mô hình là một biểu diễn trừu tượng về hệ thống Ngôn ngữ mô hình hóa UML SysML Máy hữu hạn trạng thái Ngôn ngữ mô hình hóa. Hệ thống. Mô hình. - PowerPoint PPT Presentation

Transcript of Kiểm thử và đảm bảo chất lượng phần mềm

Page 1: Kiểm thử và đảm bảo chất lượng phần mềm

Kiểm thử và đảm bảo chất lượng phần mềm

Kiểm thử dựa trên mô hình

1

Page 2: Kiểm thử và đảm bảo chất lượng phần mềm

Nội dung

• Mô hình• Kiểm thử dựa trên mô hình (MBT)• Công cụ

2

Page 3: Kiểm thử và đảm bảo chất lượng phần mềm

Mô hình

• Một mô hình là một biểu diễn trừu tượng về hệ thống

• Ngôn ngữ mô hình hóa– UML– SysML– Máy hữu hạn trạng thái– Ngôn ngữ mô hình hóa– ...

3

Page 4: Kiểm thử và đảm bảo chất lượng phần mềm

Kiểm thử dựa trên mô hình

• MBT là kỹ thuật hộp đen sinh các ca kiểm thử từ một mô hình mô tả các khía cạnh chức năng của hệ thống và chạy các ca kiểm thử này

4

là mô tả một phần

Mô hình Hệ thống

Kiểm thử trừu tượng

Kiểm thử chạy được

có thể chạy với

là trừu tượng của

có thể rút ra từ

Page 5: Kiểm thử và đảm bảo chất lượng phần mềm

Các bước chính trong MBT

1. Lập mô hình cho hệ thống2. Sinh kiểm thử trừu tượng từ mô hình3. Tạo ca kiểm thử cụ thể chạy được với hệ

thống4. Chạy ca kiểm thử và gán phán quyết5. Phân tích kết quả kiểm thử

5

Page 6: Kiểm thử và đảm bảo chất lượng phần mềm

Ưu điểm

• Tăng chất lượng sản phẩm• Dễ trao đổi thông tin qua mô hình• Dễ cập nhật bộ kiểm thử khi mô hình thay đổi• Có thể phát hiện mơ hồ trong đặc tả và thiết kế• Sinh được nhiều bộ kiểm thử từ mô hình khi

dùng các tiêu chuẩn lựa chọn kiểm thử khác nhau

• Độ phức tạp của mô hình thấp hơn

6

Page 7: Kiểm thử và đảm bảo chất lượng phần mềm

Nhược điểm

• Cần người (kiểm thử) có kỹ năng, xây dựng mô hình, sử dụng công cụ

• Cần đầu tư ban đầu lớn• Vẫn không thể bắt được hết lỗi

7

Page 8: Kiểm thử và đảm bảo chất lượng phần mềm

8

Một số công cụ

• Spec Explorer • UPPAAL• CowSuite• JUMBL

• http://robertvbinder.com/open-source-tools-for-model-based-testing/

Page 9: Kiểm thử và đảm bảo chất lượng phần mềm

Spec Explorerenum MESSAGE {ShowBalance, Insuffi�c�entFunds, Dr�nkNotAva�lable, OutOfServ�ce};MESSAGE d�splay = MESSAGE.ShowBalance;�nt balance = 0;[Act�on]�nt �nsertCo�n(�nt co�n)requ�res 5 <= co�n && co�n <= 100;requ�res d�splay != MESSAGE.OutOfServ�ce;{ d�splay = MESSAGE.ShowBalance; �f (balance + co�n <= 200) { balance = balance + co�n; return 0; } else { return co�n; }}[Act�on]

�nt returnBalance(){ �nt temp = balance; balance = 0; return temp;}

9

Mô hình Spec# của hàm insertCoin và returnBalance.

Page 10: Kiểm thử và đảm bảo chất lượng phần mềm

10

Ví dụ với Spec Explorer

• http://rise4fun.com/SpecSharp/Add

Page 11: Kiểm thử và đảm bảo chất lượng phần mềm

11

Ví dụ với Spec ExplorerDescription Line Column

1 Method SlowpokeAdd�t�on.Add(�nt x, �nt y), unsat�sfi�ed postcond�t�on: result == 2*x + y 2 14

2 (trace pos�t�on) 12 5

c.ssc(2,14): warn�ng CS2663: Method SlowpokeAdd�t�on.Add(�nt x, �nt y), unsat�sfi�ed postcond�t�on: result == 2*x + yc.ssc(12,5): warn�ng CS2663: (trace pos�t�on)