Kiểmthử sự chuyển tiếp trạng thái (State Transition Testing – STT)

Một phần của tài liệu Các kỹ thuật kiểm thử phần mềm nhúng và ứng dụng (Trang 38 - 40)

Nhiều hệ thống nhúng hoặc các phần của hệ thống nhúng hoạt động dựa trên trạng thái hiện thời. Do đó các hệ thống này sử dụng mô hình trạng thái như là cơ sở trong suốt quá trình thiết kế. Trong phần này sẽ nói về kỹ thuật tạo các trường hợp kiểm thử dựa trên mô hình trạng thái.

Mục đích của kỹ thuật thiết kế kiểm thử dựa trên mô hình trạng thái là để xác minh mối quan hệ giữa các sự kiện, hành động, hoạt động, trạng thái và sự chuyển tiếp trạng thái. Bằng cách này một người có thể biết được hệ thống đã hoạt động đúng với yêu cầu hay chưa.

Các trạng thái của một hệ thống có thể được phân thành ba loại sau đây:[1]  Trạng thái đơn giản:Hệ thống luôn cho ra cùng một kết quả chính xác ứng

với một đầu vào đã biết và độc lập với trạng thái trước đó.

 Trạng tháiliên tiếp:Trạng thái hiện thời của hệ thống phụ thuộc vào các quá trình trước đó vì vậy nó không thể dựa vào đó để xác định một trạng thái riêng biệt.

 Sự chuyển tiếpdựa trêntrạng thái:Trạng thái hiện thời của hệ thống độc lập với các quá trình trước đó vì vậy có thể dựa vào đó để phân biệt trạng thái hệ thống.Sự chuyển tiếp dựa trên trạng thái có thể được biểu thị qua bảng, biểu đồ hoạt động, biểu đồ trạng thái, đây là cách thông dụng nhất trong việc mô hình hóa hoạt động dựa trên trạng thái và thường mô tả qua ngôn ngữ UML (Unified Modeling Language)

Kỹ thuật kiểm thửsự chuyển tiếp trạng thái (STT) bao gồm các bước sau:[1]  Lập bảng trạng thái – sự kiện: thể hiện mối quan hệ giữa trạng thái và sự

kiện được tạo ra từ biểu đồ trạng thái.

 Lập cây chuyển tiếp trạng thái: Bảng trạng thái – sự kiện được sử dụng để tạo cây chuyển tiếp trạng thái. Trạng thái khởi tạo sẽ là gốc của cây chuyển tiếp. Từ trạng thái ban đầu, tất cả sự chuyển tiếp sẽ được thêm vào. Điều này được lặpđi lặp lại cho đến khi tất cả các đườngđạtđến trạng thái kết thúc hoặcđi đến trạng thái khởi tạo.

 Tạo kịch bản thử nghiệm kiểm tra các trường hợp hợp lệ: Từ cây chuyển tiếp và bảng trạng thái – sự kiệntạo được một kịch bản kiểm thử một trường hợp hợp lệ. Mỗi đường dẫn trong cây chuyển tiếp là một trường hợp kiểm thử.

 Tạo kịch bản thử nghiệm kiểm tra các trường hợp bất hợp lệ: Từbảng trạng thái – sự kiện sẽ đọc được những sự kết hợp trạng thái – sự kiện không hợp lệ. Đó là các trường hợp hệ thống không được lập trình để sử lý.

 Tạo kịch bản kiểm thử: Nếu trường hợp kiểm thử có điều kiện biên thì cần kiểm tra cả giới hạn trái và phải của giá trị.

Ta xét hệ thống Telephone trong trường hợp “gọi điện thoại” với biểu đồ trạng thái như sau:

Hình 2. 9: Biểu đồ trạng thái của hệ thống Telephone cho ca “gọi điện thoại” Telephone có hai trạng thái chính: Idle (rỗi) và Active (hoạt động). Trạng thái Active lại có thể phân tách tiếp thành PlayingDialTone (âm hiệu điện thoại mời gọi), Dialing (quay số), Connecting (kết nối hai đầu dây) và Talking (đàm thoại).

Máy điện thoại ở trạng thái Idle, khi người gọi nhấc tai nghe lên (off hook) thì nó chuyển sang trạng thái hoạt động (Active) sẵn sàng phục vụ đàm thoại giữa hai điểm trong mạng điện thoại. Trạng thái Active lại được mô tả dưới dạng một biểu đồ trạng thái con. Bắt đầu là trạng thái có âm hiệu điện thoại mời gọi (PlayingDialTone) khi người gọi quay số (digit) nó chuyển sang trạng thái quay số (Dialing). Khi quay xong (completed), nó chuyển tiếp sang trạng thái kết nối (Connecting) và khi đường dây được kết nối (connected) thì hai người có thể nói chuyện được với nhau (Talking).

Kiểm thử dựa vào biểu đồ trạng thái là một công cụ tốt để nắm bắt chắc chắn các yêu cầu của hệ thống. Cụ thể là chúng miêu tả các trạng thái và sự chuyển tiếp giữa chúng.

Biểu đồ trạng thái không thể dùng được khi hệ thống không có trạng thái hoặc không phản ứng lại với các sự kiện từ bên ngoài hệ thống. Thông thường biểu đồ trạng thái được sử dụng để tạo ra một tập các tình huống kiểm thử cho hệ thống.

2.3.6.2 Kiểm thử điều khiển luồng (Control Flow Test)

Mục tiêu của việc kiểm thử điều khiển luồng là để kiểm thử cấu trúc chương trình. Những trường hợp kiểm tra có nguồn gốc từ cấu trúc của một thuật toán hoặc chương trình.

Kiểm thử điều khiển luồng là một kỹ thuật thiết kế kiểm thử chính thứcchủ yếu sử dụng trong kiểm thửđơn vị và kiểm thử tích hợp.

Kiểm thửđiều khiển luồng bao gồm những bước sau:[1]

 Tạo ra bảng kiểm kê cácđiểm quyếtđịnh: Tài liệu thiết kế chương trình hoặc kỹ thuật được sử dụng như một cơ sở kiểm thử phần mềm. Các tài liệu này thường có mô tả về cấu trúc của các thuật toán, sơ đồ khối, biểu đồ hoạt động…

 Xácđịnh cácđườngđi kiểm thử: Số lượng các hành động trong một đường dẫn kiểm thử phụ thuộc vào mức độ mong muốn kiểm thử sâu hay không.  Định rõ các trường hợp kiểm thử: Từ các đường dẫn kiểm thử trên sẽ tạo ra được các trường hợp kiểm thử. Ứng với mỗi đường dẫn phải nhập thông số đầu vào cho chúng. Xác định đúng đầu vào cho một đường dẫn có thể tương đối khó. Đầu vào kiểm thử phải được chọn để tại mỗi điểm quyết định cho ra một đường dẫn đúng.

 Thành lập tập dữ liệu ban đầu: Thông thường để thực thi một chương trình thì phải có tập dữ liệu ban đầu. Tập dữ liệu này phải thống nhất và được thêm vào đường dẫn kiểm thử và các trường hợp kiểm thử.

 Ghép nối kịch bản kiểm thử: Từ các bước trên sẽ viết được kịch bản kiểm thử. Trong đó cũng mô tả rõ các điều kiện ban đầu trước khi thực hiện.  Thực hiện các kiểm thử: Thực hiện quá trình kiểm thử theo kịch bản trên.

Kết quả thu được đem so sánh với giá trị mong muốn.

Một phần của tài liệu Các kỹ thuật kiểm thử phần mềm nhúng và ứng dụng (Trang 38 - 40)

Tải bản đầy đủ (PDF)

(74 trang)