Chương này giới thiêu về tính tiện dịmg của web Web usability, các tiếu chuẩn quốc tê về đánh giá tính tiện dụng của ứng dựng, để xuất một mô hình tính tiên dụng của web Web Usabihty Mo
Trang 1MỤC LỤC LỜI CAM ĐOAN
1.2.1 Ngôn ngữmô hình hỏa
ậ thống chuyến đỗi nhãn (Labellad TransiHon System - LTS) 1.2.3 May trang thai hitu han (Finite State Machine FSM)
1.2.4 Máy trang thai mé rong (Extended Slate Machine — FSM)
1⁄3 Công cụ kiểm thử hướng mô hình
13 Xây dựng phương pháp dánh giá tính tiện dụng [2| 36
2.3.1 Tích hợp Mô hình tính tiện dụng của web vào A4I2WD,
3.3.2 Mô hình tính tiện đụng củi
rinh 4p dụng vào phát L Bước 1: Thiết lận các yêu câu
Bước 2: Thiết lập các Dặc tính kỹ thuật của việc Dánh giá
Bước 3: Thiết ke
Bute 4: Thực biện các đánh giả
Hước 5: hân tích các thay đề
1.4
Trang 2iệu bài toán
3.1.1 Thông tin chưng về dự ái
3.1.2 Mô lá ứng đụng và môi trường pi
3.1.3 Tiêu chuẩn ứng dụng theo Công văn Số 283/V1
3.1.4 Mô hình xây đựng ứng dụng Quân lý hại trữ
3.2 Mục tiêu thực nghiệm
3.3 Áp dụng kiểm thử hướng mô hình
33.1 Ap dung quy tin
3.3.2 Tóm lược kết guả
Tinh giá tính tiện dụng cửa wel
3.41 Ap dung quy tin
3.4
A CAC KET Qua ĐẠT ĐƯỢC TRONG DE TAT
Các kết quã chính đạt được trong dé tài:
Những khó khăn và hướng giải quy
TÀI LIỆU THAM KHÁO
k
Trang 3LOI CAM DOAN
Tác giả xin cam đoan: Tuuận văn "Nghiên cứu kỹ thuật kiếm thử hướng mnô bình
và đánh giá tính tiên dụng áp dụng vào phát triển phan mềm Quản lý lưu trữ và Số hóa tại liệu" là đo băn thân tác giả tụ thực hiện đưới sự hướng dẫn của PGS.TS Huỳnh Quyết Thắng - Viện Công nghệ thông tin và Truyền thông - Đại học Bách khoa Hà Nội, các thông tia số liệu và kết quả trong Luận vẫn cò nguồn gốc rõ rảng, nội dung, ota Lain vin chua từng được công bố trong bất kỳ một công trình nghiên cứu nào ở
trong nước
T1à Nội, tháng 9 năm 2016
Tae gid Luan van
Nguyễn Hải Dương
Trang 4LỜI CẢM GON
Trong suối thời gian thực hiện luận vẫn, tác giả đã nhận được râi nhiều sự quan
tâm, giúp đỡ của quý Thấy Cỏ, gia dình và bạn bè
Với làng biết ơn sâu sắc, em xin kinh giti Thay giáo PGS TS Huỳnh Quyết 'Thắng lời cảm ơn chân thành nhất đã giúp đỡ em rất nhiều tử việc nhận là người
thưởng đân luận văn cho em, đến việc tận tỉnh chỉ bảo, giúp đỡ em trong suốt quá trình
ai thực hiện luận văn này Em xin chân thành câm ơn Thấy!
Tim xin gửi lời căm ơn đến quý Thây Cô Viện Công nghệ Thông tin & Truyền
thông, Trường Đại học Bách Khoa Hà Nội đã truyền dạy cho em những kiến thức quý báu trong quả trình em học tập tại trường
Tôi xin gửi lời cảm ơn đến gia dình và bạn bè đã động viên và giúp dỡ dễ tôi có thêm động lực hoàn thánh được luận vẫn này,
Trong quả trình thực hiện, cũng như trong quá trình làm bảo cáo, do trình đệ lý luận cũng như kinh nghiệm thực tiễn còn hạn chẻ nên không thể trảnh khỏi những thiếu sót, lâu giả tất mong nhận được những ý kiến đồng góp của quý Thầy, Cô và mọi người
để tác piá có thể hoản thiện luận vẫn một cách tốt nhất
Xan chan thành cân on!
Trang 5Từ viết tắt,
DANH MỤC CÁC TỪ VIET TẮT VÀ THUẬT NGỮ
SUT Systom Under Test Hệ thông được kiểm thừ
LTS Labelled Transition System Hệ thống chuyển đối nhấn
FSM Finite State Machine Máy trạng thái hữu hạn
FSM Extended State Machine trạng (hải mở rộng:
Model-Driven Web Phát triển ứng dụng web theo hướng,
Trang 6DANH MỤC CÁC BẰNG
ng nhân biết
Bang 1: Phan tích về khả
Bang 2: Phan tich vé kha wang tim hiéa
Bang 3: Phan tich vé Kha nang hoat déng
Bang 4: Phân tích vẻ tính bảo vệ người đùng khỏi lỗi
Bang 5; Phan tích về khá năng truy cập -
Bang 6; Phan tich vé tink tham mỹ của giao diện người i ding
Bảng 7: Phân tích về Sự tuân thú
Bang &: Phan tích về hiệu quả trong 3
Tảng 9: Phân tích về tốt ưu trơng sử dụng
Bang 10: Phân tích về sự hải lòng trong sir dung,
Bang 11: Phân tích về bảo hộ rủi ro và nội đung
Bang 12: Ví dụ về một phương pháp kiếm tra đánh giá
Bang 13: Kết quả đảnh giá định tỉnh thu được dựa trên đánh giả của người dũng
Bảng 14: Kết quả đánh giá định lượng thú được dựa trên đánh giá của người dime
Trang 7
DANH MỤC CÁC HÌNH VẼ
Hin 10: Phần định nghĩa mô hình lest case -
Hình 11: Mô hình Test Case tự sinh bởi công cụ
Hình 12: Mé ta code Test Script tự sinh
Llinh 13: Qua trinh tao Test Case bing Selenium va Firel’ox
Linh 14: Giao dién Phan mnềm neo
inh 15: M6 ta vi dit 2.2 cesses cinerea
nthe,
Trang 8
MỬ ĐÀ
1 Lý do chọn đề tài
Ngày nay, các sản phẩm phần mêm nói chưng vả các ứng đụng web nói riêng,
dang ngày công được sử đụng rộng rấi và chứng lỗ vai trò to lớn eda ching trong moi hoạt động thực tổ Từ việc kinh doanh ban hang online, thanh toán các hóa don mua
tán, lao đối thông tím qua mạng Imlernelt, đến việc quân lý dữ liệu theo các bài loắn
nghiệp vụ khác nhau Tuy nhiên, chất lượng của các sản phẩm này chưa thực sự dược đảm báo, gây ra hao phi rất lớn trong quả trình phát triển phần mềm, nhất là trong giai đoạn bảo trì
Với mong muốn nâng cao chất hượng sản phẩm đầu ra ma vẫn đảm bảo chỉ phí
chấp nhận được khi phát triển ứng dụng, đẳng thời giảm thiểu tối đa chỉ phí trong giai doan bảo trị (thường chiếm dến 70% chi phi trong chu kỳ sống của phần mềm tng dụng [6}), tác giả đã lựa chọn để lài này như một hướng nghiên cứu cho việc đâm bao chất lượng sản phẩm phần mẻm, dặc biệt là với các ứng dụng web
2 Tính cấp thiết của để tài
Phát triển ứng dụng theo “kiến trúc hướng mô hình — Model Drwvecn Architecture (MDA)” đang là một hưởng đi đầy tiểm ning cho việc phát triển ứng, dung phản mềm nhanh chóng, tiện lợi và chính xác theo một quy chuẩn nhất định Nhưng lĩnh vực này vẫn cón rất mới mẽ và tồn tại nhiều rúi ro vi nhiều nguyên nhân
như Hệ thông được mô hình hóa hởi người đùng chưa đủ độ chính xáo và tin cậy, việc
sinh code từ mỗ hình chưa đô độ chỉnh x: q có nến muốn sử dụng được vẫn cân
phải chỉnh sửa lại,
Ngoài ra, do nhụ câu rất lớn của xã hội mà các hệ thống website từ nhỏ đến lớn
đã và đang phát triển nhanh chóng về số lượng Tuy nhiên cùng với trình độ của đội ngdi kỹ thuật viên, định hướng phát triển sản phẩm phần mềm: vói áp lực kinh doanh,
8
Trang 9giá thành sản phẩm, mà chất lượng, của da số cáo hệ thông website ở Việt Nam mới chỉ đừng ở mức “chấp nhận được” Các khâu từ thiết kế chỉ tiết, đến kiểm thủ, đánh giá tính tiện dụng của ứng dụng thường dễu bị lược bớt và chứ tập trung vào việc mã hóa phân mềm để nhanh chóng cho ra các bản mẫu có thể sứ dụng được ngay
Trong tình hình nảy, việc “Kiểm thử và dánh giá Lính tiện dụng của ứng dựng 'phát triển theo kiến trúc hướng mô hình” là rất cần thiết Hởi lẽ nó đóng vai trỏ đánh giả mội cách chuẩn xác kết quả của việc phát triển ứng dụng theo “kiến trúc hướng mô hình”, từ dõ sẽ giúp ich rất nhiều trong việc cải thiện chất lượng cũng như giảm thiểu tối đi chỉ phí bảo trì cho các sản phâm phần mềm, nhất là với các ứng dụng web
3 Mục dích, đối tượng, phạm vi nghiên cửu
(i) Nghiên cửu các kỹ thuật kiểm thử và đánh giả tính tiện dụng của các ứng dụng được phát triển theo kiến trúc hướng mô hình
(1 Nghiên củu và xây dựng hệ thông Quản lý lưu trữ và số hóa tải Hệu theo hưởng mô hình, theo chuẩn dược công bé wong công văn Số 283/VTLTNN — NVTW — 1ộ Nội Vụ
(ii) Thực biển áp dụng các kỹ thuật kiểm thử và đánh giá tính tiên dụng đã nghiên cửu ở (¡) vào đánh giá hệ thông Quản lý lưu trữ và số hỏa tải liệu (1)
4 Phương pháp nghiên cứu
Một quả trình nghiên cứu khoa học luôn luôn theo một quy trinh nhất định từ: Khao sát nhù câu thực tể, Thu thập tài liệu, Lựa chọn phương pháp, Lua chọn cóng nghệ, va cuối cũng là áp dụng lý thuyết vào thực tế Vá luận văn này cũng sẽ di theo quy trình đó
BA Khao sát nhu cầu thực tế:
'Vấn đẻ vẻ chất lượng cửa sản phầm phản mêm đang được quan tâm ngày một
thiểu do nỗ đang trở thành một yến lố quyết định dẫn đến sự thành bại của một ứng, đụng Nắm bắt được nhu cầu đó, tác giả đã quan tâm và bắt tay vào nghiên cứu các ky
9
Trang 10thuật nhằm năng cao chất lượng, cho các phan mềm nhưng vẫn đảm bảo chỉ phí hợp lý Thêm nữa, cần phải làm sao đẻ có thể tích hợp được các kỹ thuật này ngay trong quy trình phát triển ứng dụng (web) dé có thể phát hiện sớm các sai sót, bỏng hóc, lỗi trong các giai đoạn đầu tiên của quá trình phát triển Diễu nảy sẽ rất có lợi cho việc cắt giảm hao phí (về cã kinh tế vá công sức lao động) một cách tôi đa cho nhả phát triển, dâm bao dạt dược yêu câu dật ra ban dau la: “nang cao chất lượng với chỉ phí hợp lý”
B3 Thu thập tải Hệu:
1o đây là một lĩnh vực cón rất mới mẻ trên thể giới và đặc biệt lả ó Việt Nam, xiên việc thu thập tài liệu cũng như tìm kiếm các công nghệ phụ trợ còn khá khó khăn Tác giả đã cố gắng tìm kiếm các tải liệu liên quan và nghiên cứu sự phù hợp của nó với
hưởng đi trong hiện văn này Thường thì các tải liệu trong lĩnh vục này còn khá tống,
quan và trưu tượng, chưa có muội tài liệu nào thực sự hoàn chính va day đủ, chỉ tiết để
cỏ thể sử dụng trực tiếp Kết quả của công trình nghiên cửu này là tổng hợp của rất nhiều các tài liệu liên quan khác nhau trong lĩnh vực còn rất mới mẻ nảy
thủ công truyền thông,
~_ Đánh giá tính tiện dụng của ứng dụng — tập trung vào việc đánh giá sự liệu dụng, của giao diện nguời dùng cuỗi, giúp nâng cao trải nghiệm người đúng,
và đại được sự lhỗa mãn của họ
Mỗi hướng đi nêu ra ở trên lại thuộc một lĩnh vực nghiên cứu độc lập với nhau, các lý thuyết và phương pháp áp dung đều là dộc lập, gây rất nhiều khó khăn trong quả trình nghiên cứu Tuy nhiên sau một thời gian nỗ lực nghiên cứu và tim tei, tac giã
10
Trang 11cũng đã chọn được các phương pháp thích hợp với từng hưởng di cy thé, cho phép hiệu
thục hóa hướng nghiên cứu này
B4 Lựa chọn công nghệ:
Đầu tiên, để hiện thực hóa hướng đã của mình, lác giả đã lm chọn công nghệ ASP.NET va ngôn ngữ lập trình C# cho việc phát triển ứng dụng web “Quản lý lưu trữ
và số hóa tài liệu”
Tương ứng với B3 sẽ là 2 công nghệ càn dược lựa chọn thích hợp cho từng, hướng đi Với hướng đi: Kiểm thử hướng mỏ hình, tác giả lựa chọn được 2 công cụ thich hop la: Spce Explorer va Sclenium Hai céng cụ hỗ trợ có thể áp dụng được lý thuyết kiểm thử hướng mô hình cho ứng dụng (web) Với hướng đi: [ánh giá tính tiện dụng của ứng đụng (web) thì hiện tại không có một công cụ nao có thể hỗ trợ cho lý thuyết đã nghiên cửu, thêm nữa, đặc thủ của hướng nghiên cứu này phụ thuộc căn ban vao cam giác chủ quan của người dùng Do đó, khối lượng thực nghiệm chính cho tuưởng mấy vẫn là thực biện một cách thủ công, kết hợp với JavascripL cho các tac vu tính toán cân thiết, đông thời lấy ý kiến phần hỏi thực tế từ phía người dùng cuối
Bõ Áp dụng lý thuyết vào thực 18:
Dựa trên một đự án thực tế nhận được thông qua hợp đông với khách hàng là Chỉ cục văn thư lưu trữ Tỉnh Phú Thọ về ứng dụng “Quản lý lưu trữ và số hóa tải liệu”, tac gia đã áp dụng ngay những nghiên cửu có dược trong đẻ tải này vào phát triển ứng, dụng web theo yêu cầu trên
Xuất phát điểm từ những tửm biểu và nghiên cứu của bản thán, cùng sự trợ giúp
từ nhiên phía, đặc biết là sự trợ giứp nhiệt tỉnh tr PGS TS Huỳnh Quyết Thắng, tác giả đã thực hiện đề tài này trong khoảng thời gian khả eo hẹp và cũng đã đạt được một
Trang 125 Bỗ cục của luận văn
Chương này giới thiêu về tính tiện dịmg của web (Web usability), các tiếu
chuẩn quốc tê về đánh giá tính tiện dụng của ứng dựng, để xuất một mô hình tính tiên dụng của web (Web Usabihty Model - WUM) để có thê tích hợp được vào quy trình phát triển ứng dụng (web) theo hướng mô hình Sau đỏ đưa ra quy tinh
cụ thể để áp dựng WUM nảy vào phát triển ứng dụng web theo hướng mô hình
CHUONG 3 — THUC NGHIEM AP DUNG VAO PHAT TRIEN UNG DUNG
WEB
Chương nảy trình bay thực nghiệm khi ap đụng lý thuyết của Chương 1 và Chương 2 vào thực tế phát triển một ứng dụng web theo hướng mô hinh, cụ thể là ứng đụng web “Quân lý lưu trữ và số hỏa tài liệu” theo chuẩn được hưởng dẫn trong Céng van $6 283/VTL_TNN — NVTW — Bộ Nội Vụ Chương này sẽ bao gồm
3 phần chỉnh:
1 Giới thiệu vẻ bái toán nghiệp vụ cần xử lý: thông tia vẻ dy án, mồ tả yêu cầu, các tiêu chuẩn cản được đám bảo theo công văn hưởng dẫn, đưa ra mô
tình kiến trúc của ing đụng
bà Ap dung kiém thứ hướng mỏ hình: Áp đụng lý thuyết và các kỹ thuật kiểm thữ hướng mê hình đã nói ở Chương 1 vào việc phát triển ứng đụng web
luân ly lưu trữ vả sẽ hẻa tài liệu”
3 Ap dung đánh giá tính tiên dụng: Áp đụng lý thuyết và các kỹ thuật đánh giá tính tiện đụng, cững như mô hình WUM đã được để xuất ở Chương 2 vào việc phát triển ứng dụng web “Quản lý lưu trữ và số hóa lài liệu”
Trang 13'frong phản 2 và 3 sẽ dưa ra cụ thể các kết quá thực nghiệm tương ứng khi áp dụng lý thuyết vào thực tế phát biển ứng dụng web “Quán lý lưu trữ vả số hỏa tải liệu”,
Các phân đưới đây sẽ bắt đầu nội đụng chính của cuồn luận văn này
Trang 14CHƯƠNG 1 KIEM THU HUGNG MO HiNH CHO UNG DUNG
Trên thế giới, vân để về dam bảo chất lượng phần mềm đã và đang được quan
tam dau tư một cách thích dáng Vì lợi iclh của nó den lại là không thể chối cãi, như:
- Đầm bảo chất lượng phần mềm, đồng thời đâm bão trải nghiệm ổn định, thoải mái cho người dùng, cuối
- Dam bao và nắng cao các tính chất quan trọng cần phải có khi phát Hiến phan
14
Trang 15dụng web thì lại cảng đẻ bị tần công bởi các nguy cơ thường trực trên mạng Internet như Hacker, Virut, Tay chỉ đơn giản là những người dừng cuối có kiến thức hạn chế
vẻ tìn học
Vi vậy, trong thực trạng phát triển như hiện nay, các ứng địng nói chung và các
ứng dụng wcb nói riêng căn dược thiết kế và phát lriển sao cho đâm bảo chất lượng một cách tốt nhất, mang lại lợi ích cho cả nhá phát triển cũng như người dùng cuối
1.1.1 Kiểm thử
Kiểm thứ là một khía cạnh phát triển trong sự phát triển của phần mểm Kiểm
thử có thế cưng cấp cho nha phát triển một cái nhìn độc lập về phần mềm (chủ yêu từ
goc nhin sit dung) để bừ dò dánh giá vá thấu hiểu được những rủi rơ trong quá trình triển khai phần mềm Trong kỹ thuật kiểm thử không chỉ giới hạn ở việc đi tìm các lỗi
lỗi và 61) mã còn là một quá tình phê chuẩn và xác
xrúnh một chương trình máy tinh/ứng dụng/sản phẩm nhằm:
- Dap tmg được mọi yêu cầu của bài toán cân xử lý (Tỉnh hoán thiện)
- Thực hiện công việc đúng như kỳ vọng (Tỉnh chính xác)
= CG thể triển khai dược với những đặc tính Lương tự (Tính khả thì)
- Va dap tng được mọi nhu cầu của các bên liên quan
‘Tay thude vào từng phương pháp, việc kiểm thứ có thể được thực hiện bat ct lúc nào trong quá trình phát triển phần mềm Do đó, mỗi một phương pháp kiếm thử bị chỉ phối theo một quy trình phát triển phân mềm nhất dịnh
Trước tiên, chúng ta cần xem xét một vải khái niệm cắn bản trong kiểm thử Có khá nhiều các định nghĩa về kiểm thứ dược nêu ra Dưới dãy là một vải khải niệm kiểm
thử cơ bàn nhất:
(DE
nhiều đặc tinh của mội sân phẩm, quá trình hoặc dịch vụ nhật định thép một
thủ tục quy dịnh." — (Đình nghĩa bởi TSỐ [15])
thử là một hoạt động kỹ thuật mà bao gỗm việc xác định một boặc
15
Trang 16
(3) "Kiểm thữ là quá trình thực hiện một chương trình với mục dịch từn kiếm
lãi.”— (Dinh nghĩa bởi Myers [L6]) (3) "Kiếm thử phần mâm là một quả trình kỹ thuật thực hiện bằng cách thực thí /
kiểm tra một sẵn phẩm, trong một mỗi trường có kiểm soái, theo một thủ tục
any dink, voi mục đích đo một hoặc nhiều đặc điểm / đặc tính chất lượng
lân phẩm phẫn mẫm bằng cách chứng mình thực tế của các sản phâm từ các yêu cầu trạng thái / đặc diễm kỹ thuật." (Dịnh nghĩa bởi Tretmans [19])
Trong các định nghĩa trên, định nghĩa (3) là đây đủ vả chỉnh xác nhất, Vì kiểm thử không chỉ là việc tìm kiếm lỗi và xác định những đặc tính thuộc vẻ phan mém ma
sai lệch về tình trọng
nó côn so sánh và hiển thị độ lệch của những, đặc tính này với các yêu cầu trạng thái hay các đặc điểm kỹ thuật đã đặt ra Da đó, tác giả sẽ sử dụng Dịnh nghĩa (3) cho khái tiệm &a&m thữ được nới đến trong suốt tài liệu này
Trong khái niệm kiểm uá đã được nêu ra ở trên, cỏ một khái niệm cần xem xét
rõ ràng hơn, đó lả khái niệm cbốï lượng, Khái niệm này được định nghĩa là
(4) “Toàn bộ các đặc tính của một tưực Hỗ mang khả năng bảo đâm cáo trạng thái hệ thẳng cũng như các mục tiêu cần thiết đã được nêu ra trong quả tình xác định yêu cầu phần mầm” — (Định nghĩa theo tiên chuân ISO 9126-
1)
Theo định nghĩa (4) chất lượng 14 mol lp hop các đặc điểm quan trong cho san phẩm Chất lượng phân mềm có thể được phân thánh sáu đặc điểm nêu trong tiểu chuẩn 1SO 9126-1
~ _ Chute nang - phủ hợp, bảo mật, chính xác
~_ Độ n cậy - đô trưởng thành, khả năng chịu lỗi, khả nắng thu hội
- Kha ning siz dung - khá năng hoạt dộng, để hiểu, khả năng học hỏi, hập dân
-_ Hiệu quả - hành vỉ thời gian, sử đụng nguên lực
- Bao tri - khả năng nghiền cứu, thay dỗi, sự ôn định, khả năng kiểm thử
- Kha ning triển khai - khá năng thích img, khả năng cải đặt, khả năng thay thé
Trang 17Kiểm thử phản mẻm có thể triển khai bằng các cảch sau:
Œ) — Kiểm thử thủ công: Linh động nhưng tốn kém Đây không phái là cách
được tra thích đề kiếm thử phản mềm
() Kiém thir tu động: Tức là tạo ra các kịch bản kiểm thử và thực hiện
chúng một cách tự động Chi phí cho kiểm thứ tụ động chỉ tên kém 1 lần
ở bước xây dựng kịch bản kiếm thứ và được sử dụng lại nhiêu lần khi cân thiết Tuy nhiên, việc nảy vẫn dỏi bối có đã thời gian thích hợp Thêm nữa nhược điểm của cách này là khi các mã lệnh của chương trinh bị thay đổi thì các kịch bản kiểm thử không côn tác đụng nữa
(1) Kiểm thử hướng mô hình: Để khắc phục nhược diễm của 2 cách trên,
chúng ta có một cách khác là Kiểm thử hướng mô hình (sẽ được nói chỉ tiết hơn ương phần đưới dây)
1.12 Kiểm thử hướng mồ hình
Có nhiều khái miềm khác nhau về kiểm thử hướng mô hình Nhưng nhìn chung
có thể hiểu kiểm thử hướng mô hình là một phương pháp kiểm thứ má các ca kiểm thứ được sinh ra từ mô hình đạo tả hành ví của hệ tháng dang được kiểm thứ (System 'Dmder Tcat - SUT)HT | Mô hình nảy được biểu điển bằng máy hữu hạn trạng thái, đặc lả đại số, triển đỏ trạng thái bằng UML,
Kiểm thử hưởng mô hình là một công nghệ tương dối mới dễ kiểm thử phân xuểm Một mô hình mô tả các hành vi mong muốn của SUT Nó là điểm quan trong trong kiếm thử hướng mô hình Các hảnh vỉ mong muốn thường được quy định trong, tài hệu kỹ thuật của SUT Kiểm thử hưởng mô hình vượt qua ranh giới của kiểm tra tự
động bởi vi nó tạo ra thuật toán định lượng cụ thẻ các trường hop kiếm thử dựa trên mé
Tỉnh của hành vĩ mong muốn Một công sự kiểm thử hướng muô hình (Chương ï phần 1.3) tạo ra các trưởng, hợp kiểm thứ cụ thể dựa trên mô hình
Trang 18Cáo SUT dược kiểm thử thông qua cách tiếp cận hộp den, nghĩa là chúng ta chỉ quan sát đầu ra của hệ thống với một đâu vào nhật định, mà không biết mã lệnh đẳng sau nó Các dâu ra quan sát được từ SUT dược so sảnh với trang thái dầu ra mong sauén của hệ thống đưa ra bởi các mô hình Ngược lại với kiểm thử hộp đen lá kiểm Thử hộp trắng, tức là các cầu trúc bên trong của hệ thông, các mã, là nên tăng của kiếm thứ [18]
Để có thể tạo ra các trường hợp kiểm thử cho ede SUT, mat hộ chuyên đổi (Adapter) thưởng dược tao ra Adapter sẽ tạo ra dầu vảo từ các công cụ kiểm thử thưởng mê hình sao cho có thê sử đụng được cho các SUT, đồng thời, đầu ra quan sát
Trang 19làm các bước tiếp theo trong quy trình phát triển ửng dụng Ngăn chặn sớm các lỗi sơ bản của hệ thống mà thường rất dé mac phải/bỏ qua nêu sử đụng kiểm thử thường,
Thêm nữa, một nhược diễm chung của kiểm thứ thường là cản co mat hong chi phí cao cho việc tạo ra, thực hiện và duy trì các bộ kiếm thử Công thêm việc không có
cach nae để truy xuất từ yêu cầu ra cá thi, din đến hệ quả là với mỗi một thay đổi yêu cầu ta đều cần kiểm tra lại các bộ kiểm thử một cách thủ công, dẫn đến hao phí lớn Đối với kiểm thử hướng mô hình, việc tạo ra mô hình kiểm thử ban đầu cũng tiêu tốn một lượng chi phí lớn, nhưng dỗi lại, chỉ phí cho việc duy trì kiểm thứ trong kiểm thử hướng mỏ hình lại thấp hơn rất nhiêu, đo: Mô hình kiểm thử được tạo ra một cách
rau đó toàn hộ bộ kiểm thủ
thích hợp chỉ lần đầu v & được sinh ra mOL cách tự động
Tuy nhiên, dủ là kiểm thử thường hay kiểm thử hưởng mô hình cũng không thể
xác dinh hoàn toàn dược lất cả các lỗi bên trong phần mềm Thay vào đỏ, nó so sánh
phát hiện vấn đề
Mục đích chính của kiếm thử là phát hiện ra các lỗi phân mm để từ đó khắc phục và
trạng thải vả hành vị của sản phẩm với các nguyên tắc hay cơ chế
sửa chữa Việc kiểm thứ không thể khẳng dịnh dược rằng các chức năng của sản phim đúng trong mọi điều kiện, mà chỉ có thể khẳng định rằng nó không hoạt động đúng trong những điều kiện cụ thế Các thông tín thu được tù kiểm thử có thế được sử dựng
để điều chỉnh quá trình phát triển phần mềm
1.2 Phương pháp đặc tả mồ hình [1]|5]
TĐ án đụng phương pháp kiểm thử hướng mô hình, chứng ta cẩn xây đựng mê
tỉnh đặc tã chính xac banh vi của hệ thống cần kiểu thứ Mô hình mày được đặc tả bằng một trong các phương pháp hình thức như: Hệ thống chuyển đổi trạng thái (Labelled Transition System — LTS), Máy trạng thái hữu hạn (Finite State Machine — FSM), May trạng thái md réng (Exicuded State Machine — ESM),.v.v
Trang 201.2.1 Ngôn ngữ mô hình hóa
Kiểm thử hướng mô hình cho ung dung (web) đòi hỏi phái sử dụng các mô tỉnh Một mô hình đại điện cho hành vì đúng của hệ thống Các đặc điểm kỹ thuật cửa
hệ thống (tải hiệu hướng dân về những gi hệ thống có khá năng làm dược) chỉ rõ những,
gì hệ thống có thể xủ lý khi sử dụng một sẻ yếu tô và những phản ứng của hệ thống,
un có khi sử dụng những yếu tổ này ý đụ, các đặc điễm kỹ thuật cho chhúng ta biết những gì sẽ xáp ra nếu người dùng nhẫn vào một hên kết trong trình duyệt Lệ thông
phải đứp ứng với các tập tin yêu cầu hoặc cần cung cấp một lãi Tất cả các đặc điểm
kỹ thuật cho chúng ta biết những thứ cẩn thiết để kích hoại các sự kiện và các đầu ra nong đợi của sự kiện đó Với những đầu vào và đầu ra này, chứng ta có thể làm ra một 1ô hình của các đặc điểm kỹ thuật Với một mô đủnh, chúng ta có thể lạo ra thuật toàn kiểm tra theo nhiều trường hợp nhằm xác dinh xen SUT só phân ứng phủ hợp với mong doi hay khéng
Một mô hình có thể được mô tả theo nhiều cách khác nhau, Mỗi công cụ kiểm
thử hướng mồ hình sử dụng một mô hình khác nhau để †ạo ra các trường hợp kiểm thứ
Phan dưới đây số đưa ra môi số ngôn ngữ mồ hình hóa phd bi được sử dựng trong kiểm thứ hướng mô hình
1.2.2 Hệ thắng chuyển đổi nhãn (Labelled Transition System - LTS)
LIS bao gồm một tập các trạng thải (State) và một bộ chuyển tiếp giữa các trạng thái dé Trang thai ban đầu được gọi là sạ Mỗi bước chuyển được đán rhần
(Label) của một hành động 8tate dại diện cho các trạng thái của hệ thống và labcl dại
điện cho các hành động nhịn thấy được của hệ thông, 1,abel được lây từ một tập L toan
cục Về hình thức, một LTS được biếu diễn bởi bộ 4 ký tự như sau:
€8, se, £, 3)
Trong độc
Trang 21-_ 8 l tập hợp các trạng thái không trồng (non-empty state) -_ 1L la tap hop các nhẽn đầu vao (Input label) Ngoài ra có mệt label đặc biệt lượng bừng cho một hành động nội bộ được gọi là r (+ €1)
- — la cdc méi quan hệ chuyển tiếp, sử dựng khi có một sự chuyển trạng
thái từ Ssang Sự Nó Là tập con của các tập các trạng thái, các nhãn và
các trạng thái đầu ra
—>€Sx(Ò {£}) xS, với É L,
1.2.3 Máy trạng thái hữu han (Einite Stxte Machine — ESM)
ESM có một tập hợp hữu hạn các trạng thái Một ESM được biểu điễn bởi bộ 6
ký lự như sau
(S,1,Đ, sạ, ổ, 4) Trong dé:
- _ 5 là một tập hữu hạn các trạng thái khéng tring (Finite non-empty state)
- sa € Slà trạng thái ban đầu
-_ T]ã một lập hữu hạn các đầu vào không tréng (Finite now-emply input) -_ Ö là một tập hữu bạn các dầu ra không trồng (Finite non-empty output)
và bao gêm thêm 1 dau ra NULL được gọi là Ø
- _ ởlà hàm chuyển đổi trạng thái, ở: 5 + —> 5
- Alaham d4ura (Output function), a: S x E> 0
Sự khác biệt chính giữa một LTS và một FSM là một FSM có nhãn đầu vào và
đầu ra xác định trong khỉ mội.T.T8 có thể có đầu vào và đầu ra xây ra theo một thử lự
ngẫu nhiên Hơn nữa, một LTS được phép có tập vô hạn của các trạng thải và một tập
21
Trang 22vô hạn của nhăn, trong khi mét FSM phải có một tập hợp hữu hạn các trạng, thải và một tập hữu hạn cáo nhãn đâu vào Một FSM đáp ứng trên một đầu vào I cho trước được đưa ra trong một trạng thải 8 Điều này tạo ra một sự chuyên đổi trạng thái 8(§T) và
mét dau ra A(S, D)
1.2.4 May trang thai mé rug (Extended State Machine — ESM)
ESM cf điểm Lương đẳng với FSM nhưng được mở rộng với
c biển Trong quá trình chuyên dỗi từ trạng thái hiện hành sang trạng thái khác, các giá trị mới có thể được gán cho các biến này Sử dựng các biến nay, chúng ta có thé trừu tượng héa mé Tỉnh bằng cách giảm thiểu việc sử đụng các trạng thải Với việc sử dụng biến, chúng ta
có thể xây dựng các vị từ để đâm báo cho quả trình chuyển đổi nhất định, tức lả có thể cho phép (hoặc không cho phép) chuyến trạng thái khi giá trị của biển đạt một điều
kiện nhát định Một ESM dược biểu diễn như sau
(3, Sp, ,.0,D, &) Trong đỏ:
- 8 là mội tập hữu hạn các trạng thải
- Sp € S là trang thai ban đầu
-_ Tà một lập hữu hạn các đầu vào
-_ O là một tập hữu hạn cáo dau ra (Cho dén đây, nó vẫn có định dạng của
một FSM) -_ Tà tập hợp các biến (Khảe biệt chính của BSM vén FSM)
- _ ã:là quan hệ chuyển trạng thái
Vidu (s, i p, 4, 0, 0 có thể được hiểu là “rong một trạng thải s với dẫu vào i
chịu sự táo động của điều kiện ø, khi cáo biến đạt được điều kiện quy định trong p thi
có thể chuyển trạng thái từ s sang 2 thông qua hành động a, va cho dau ra lao”
Trang 23Nhu vay, ta đã di qua 3 ngôn ngữ mô hình hóa lá: LT§, FSM và ESM Mất loại
có một tru nhược điểm riêng Do sự ph biển và linh động của FSM mà tác giả đã lụa chon FSM làm phương pháp đặc tả mô hình cho phần kiếm thử hưởng mô hình này 'Tương ứng với no là công cụ Spee lplerer sẽ được nói đến trong phân 1.3
1.3 Công cụ kiếm thử hướng mô hình
13.1 Tổng quan
Vẻ mặt bản chắt, kiểm thứ hướng mỏ hình lá một dạng của kiểm thử tự động, cho phép ta cé thể tư động hóa quá trình kiếm thứ từ việc sinh ra ca kiểm thử cho đến việc tự động chạy ứng dụng và dưa ra kết quả kiểm thứ khi chạy ứng dụng Tuy nhiên,
do đặc thủ của tùng loại ứng dụng má muốn kiểm thử ứng dụng một cách tự động đòi tiôi phải xây dựng một hộ chuyên đối (A dapler) để giúp cho việc giao tiếp giữa công cụ kiểm thử với ửng dụng thật,
Tiện nay đã có rãi nhiều gác gông cụ hỗ trợ kiểm thử tự động, rương cáo công,
cụ này thường chỉ có thể sử dụng dược khi dã có các bản mẫu ứng dụng (Prototype) 'Một hạn chế nữa của các công cụ kiểm thử tự động là chưa thực sự phát triển cho các img dung web ma phan nhiều trong số dá dều chỉ tập ưung cho việc kiểm thủ các ứng dụng chạy trên desktop Ngoài ra cũng đã có những công cụ được phát triển để hỗ trợ
cho kiểm thử hướng mö hình, nhưng hảu hết vẫn chưa đáp ứng được những yêu cầu
của việc kiêm thử hướng mô hình Do đỏ, việc tìm kiểm một công cụ phú hợp cho việc kiểm thử tự động ứng đụng web nói chung, cũng như kiểm thử hướng mê hình cho phát triển ứng dưng web nói riêng lả rât nan giải và khó khăn Hiên nay chưa thé tim thấy một công cụ kiểm thở hướng mò hình nào dặc trưng cho việc phát triển ứng dụng, web
‘Lrong tinh hình đó, tác giá đã tìm kiếm và xác định được 2 công cụ có thể sứ dụng để hỗ trợ cho phân lý thuyết vẻ kiếm thử hưởng mỏ hình cho ứng dụng web đã
23
Trang 24nói dến 6 trén 56 la: Spee Explorer (céng cụ kiếm thử hưởng mô hình do Microsoft phat triển và có thể tích hop vao Visual Studio nhu mét thành phần chức năng) và Sclonium (Céng cu kiém thử tự đông đặc trưng cho kiểm thử ủng dụng web hiện tại đang rất phố biến và được sử dụng rộng ri),
Mỗi công cụ sẽ dược sử dụng với mục đích riêng tủy theo chức năng và ưu nhược điểm của chúng (sẽ được nỏi rõ hơn trong các phản giới thiệu công cụ dưới đây: 1.3.2 và 1.3.3) Trong đó
- Spee Explorer sé duoc sir dung để thiết kế mô hình kiểm thử là chính
ai liệu tham kháo cho kiểm thứ tự động về sau, do code kiểm thứ được sinh Ngoài ra có thể sử dụng nó để sinh các ca kiểm thử tự động để làm
không thích hợp để sử dụng ngay cho ứng dụng web, cũng như bạn chế trong việc xây đựng các bộ chuyểu đổi (Adapler) đã nói đến ở trên) Tựa trên các mö hình nảy, chúng ta có thể sinh ngay các mô hình chơ từng cá kiếm thử, từ đó đánh giá ngay được chất lượng của phẩn mềm và phát hiện sớm các thiểu sót để thấy của hệ thống ,
- Selenium sé được sử dụng đề hiện thực hóa các ca kiểm thử đựa trên mô hình đã có ở trên Đông thời có thể sử dựng để đánh giá ngược chất lượng,
ca các mồ hình này
Cáo phân dưới đầy sẽ giới thiệu lần lượt về các công cụ Spec lxplorer va Salenium, đẳng thời chỉ ra ưu nhược điểm của chúng khi áp dụng vào kiếm thử hướng trổ hình trong phát triển ứng đụng web
1⁄32 Spec Explorer
Spec Explorer do Microsoli phat tri và được phat hanh hoan toa n phí, có
thể tích hợp trực tiếp vào Visual Studio như một thanh phan chức năng Bộ công cụ
xảy được xây dựng dựa trên ngôn ngữ lập trình C# và Cord Soripting Langunge giúp la
có thể xây đựng mô hình, liên kết với phản thực thí (SUT) và sinh ra các ca kiểm thử
24
Trang 25Ưu diễm của công cụ này là nó dược phát triển trực tiếp cho kiểm thử hướng mô trình nên hễ trợ khả tốt các bước trong qui trình kiểm thử hướng mô hình Từ việc mê tình hóa các yêu câu kiểm thử, sinh ra mô hình kiểm thử, sinh các ca kiểm thử cũng, như tạo Test Suite Nó được phát triển bởi chỉnh Microsoft nên có thể tích hợp trực tiếp vao Visual Studio như một thành phân chức năng Do đó nó hỗ trợ rất tốt trang môi trưởng NHT
Tuy nhiên, nhược điểm của công cụ nảy là code để rô hình hóa còn phức tap, nhiều cầu trúc lệnh và toán tử còn chưa thật sự rõ ràng khiến người lập trình mới rất bỡ ngũ khi tiếp xúc với nó Thêm nữa, việc sinh các Test Script cũng chưa thật sự hữu dụng, khi mà để giao liếp với ứng dụng thật cần tạo ra một bộ Ađapler tương ứng cho từng công nghệ, tùng ngôn ngữ và từng môi trường khác nhau Việc nảy sẽ tiểu tốn rất nhiều tài nguyên và không thế đảm bảo chỉ phí cho việc phát triển phân mềm ứng, dung Chính vì thê quá trình lạo bộ chuyển đổi thường bị lược bồ đi, tương đương với việc không thê sử dựng trực tiếp các Test Script để kiểm thủ ứng đụng Thêm một han chế nữa của công cụ nảy là tiện tại nó chỉ hỗ trọ cho các phiên bản cũ của Visual Studio là bãn 2010 và 2012 chứ chưa hỗ trợ cho phiên bản từ 2013 trở di Do dó người
sử dựng sẽ phải cải đặt phiên bản Visual Studio tương ứng để có thể sứ dụng được công cụ nảy, tương dương với việc sẽ phối chấp nhên nuốt di rất nhiều hỗ trợ mới hữu ích tử các bản Visual Studio mới hơn
Do các hạn chế của công cụ này, công thêm đặc thủ của ứng dụng web cũng như công nghệ sử dụng để xây dựng ứng dụng web, đặc thủ về cấu tric ứng dụng cũng như cách triển khai, sử dụng ứng đựng hoàn toàn khác so với một phần mềm chạy trêu
PC thông thường nên việc tích hợp codc còn nhiều vấn dễ nan giải Ngoài ra, việc xây dựng được cáo bộ chuyển đổi này cũng phát sinh rất nhiêu chi phí và hao tổn nhiều tải
nguyên Vì vậy, trong giới hạn của luận văn này, tác giả sử dụng Spec Explorer chit
yếu cho việc mô hình hóa quy trình kiểm thứ vả sinh các mô hình kiểm thử cho các ca
kiểm thử tụ động về sau
Trang 26Hinh 1 thể hiện sơ đỏ các bước thực hiện khi ta áp dụng kiểm thử hướng mô hinh véi Spec Explorer
(4) Kiếm thử Ca Kem (3) Gonerate
{ha céng hofe S$“ _— oa kiém tints
tự động) (Tư động)
Hình 1: Quy trình áp dung Spec Explorer [5]
Bude xây dựng mô hình là bước khỏi đầu và cũng là bước quan trong thal cia kiểm thứ hưởng mô hình, thể hiện tính chất dặc trưng của phương pháp kiểm thứ này
Mê hình là yến tổ quan trọng then chốt để từ đó ta có thể thực hiện các bước khác
Việc xây dựng mô hình chơ ta kết quả là một chương trình mỏ hình (Model proeram),
26
Trang 27dựa trên một ngôn ngữ đặc tả mô hình (Model language) Việc xảy dựng mô hình tập trung vào việc mỏ tả hệ thông một cách đơn giản, nhỏ gọn nhằm phục vụ cho việc phân tích và kiểm thủ hệ thống,
13.3 Selenium
Selenium la một phẩn mêm rã nguồn trở được phát triển boi Jason Huggins, sau đó được tiếp tục bởi nhóm ThoughtWorks vào năm 2004 Dây là một công cụ kiếm thử tự động đặc trrmg cho các ứng đụng web Phiên bản hoàn chỉnh mới nhật hiện tại
đã hỗ trợ được hầu hết các Trình duyệt web hiện nay như Chromc, TE, Salari, và đặc
ur hành phổ biến tiệt là TireFox Selenium cũng đã hỗ trợ hâu hết các 116
nay
ub Windows, Tánux, Mac cũng như hỗ trợ các ngôn ngữ lặp trình web phổ biến, ví
du: C#, Java, Perl, PHP, Python, Ruby Selenium đang được cộng dông sử dụng
đánh giá là công cụ kiểm thứ tự động cho web tết nhật hiện nay D26 cũng là lý do tác giả lựa chọn công cụ này để hỗ Irợ cho phâm [hực nghiêm của dễ tải này
TƯu điểm lớn nhất và thích hợp nhật của Selenium trong trường hop cụ thể của
luận văn này là nỗ chuyên hỗ Hợ cho kiểm thứ tự động ứng dụng web Ngoài ra như đã
nói ở trên, Selenran hỗ trợ tốt cho hầu hết các mỏi trưởng, các hệ điều hành, các trinh duyệt web và các ngôn ngữ lập trình web hiện may Nó cũng có ưu điểm là trực quan,
để học, đễ sử dụng, dể tiếp cận cho người mới; thêm nữa sau khi tạo dược các ca kiểm thử, nó cỏn hỗ trợ sinh code tự động để cắm trực tiếp vào các loại ứng dụng cụ thể và chạy như code nội lại của ứng dụng Vì vậy nó dược sử dụng ngày càng nhiều rong
chuyên ngành kiểm thử phần mềm
Nhược điểm của phân mẫu này (so với trường hợp cụ thê của luận văn này) chỉ
là nó không phải là một công, cụ kiểm thử hướng mô hình Như đã trình bảy ở trên, các công cụ kiểm thử tự động chỉ cỏ thể áp đựng khi đã có các bắn mẫu (Prototype) của img dung, Nó cũng không tự sinh mỏ hình kiểm thử cho người dùng, Nếu người dùng,
kở 3
Trang 28muốn sinh tự động mô hinh kiểm thử thì phải sớ dụng thêm một phân mềm thứ 3 hỗ trợ cho việc mồ hình hóa quy trình kiểm thử từ test code của Selenium
Cũng do những nhược diém nảy mả trong khuôn khổ của luận vin nảy, tác giả
sử đụng Selenium nhir mét công cu dé hién thực hóa các ca kiếm thir sinh ra tir Spec Explorer thay cho vige tao cae bd Adapler vén sé chiếm rất nhiều chi phi va i nguyén khi phát triển Ngoài ra, Selemum cũng được sử dụng để đánh giá ngược chất lượng, của cáo mô hình đã được sinh tự động từ Spec Explorer ở bước trên
1.4 Đề xuất quy trình kiểm thử hướng mô hình áp dụng kết hựp công cụ
Spec Explorer và Selenium
Theo Huyện thống, việc kiểm thử (nếu có) sẽ được thực hiện bởi một nhóm các
Tester độc lập sau khi các chức năng được phát triển và trước khi nó được chuyển tới khách hàng Thực tế này gây ra tốn kém rất nhiều tài nguyên đo các lỗi hệ thống không, dược ngăn chặn sớm má chỉ được phát hiện khi gân như đã hoàn thành hệ thống Khi
đó việc tìm kiếm và sửa lãi sẽ rất khó khăn do không có các hiện vật kết quả của từng,
giai đoạn phát Iriển mà phải lục tìm trong một mớ hỗn độn các ruã ng nổn
Kiểm thử hướng mô hình cá thể khắc phục triệt đề các hạn chế đó, do nó có thể
tích hợp vào quá trình phát triển ứng dụng ngay từ những ngày đầu tiên, khi mới có yêu cầu cụ thể của bải toán Thêm nữa, nếu các quả trình phía trước cỏn bố sót lếi thi khi phát hiện lễi ở các quá trình tiếp theo sé rat dé dang để tim kiếm và sửa ngay lễi xây ra (do có lưu lại toàn bê các hiện vật trong, quá trình phát triển) Đông thời còn có thé phản đoán ngay các lỗi tiếp theo có thể xảy ra khi hệ thống có thay đổi Từ đó ngăn chăn được các lỗi ngay từ đầu và giảm thiểu lối đa hao phí tài nguyên cho việc phát triển cũng như bão trì web
Tuy nhiên, Kiểm thứ hướng mô hình không phải là một công cụ vạn năng cho quả trình kiểm thứ Nó chứ có thể áp dụng dược khi dã có bản đặc tả chỉ tiết về hệ thống cản xây dung Qua đó mới cé thé xác định được các trạng thái và hành vi hé
Trang 29thống, một cách đúng din để xây dựng dược mô hình trực quan Do mẫu chốt của kiểm thử hướng mô hình là việc xây dựng được các mồ hình một cách đúng đắn và đây đủ nhất có thể, nền kiểm thử hưởng mô hình không thể thực hiện khi chưa xác định dược các trạng thái và hành ví của hệ thêng (hay cũng chính là khi chưa có đặc tá chỉ tiết, cụ Thế vẻ hệ thống)
Quả trình kiểm thứ hướng mô hình được bắt đầu bằng việc xác định yêu câu của
tiệ thống lừ đó xây dựng mô hình đụ vào các yêu cầu và chức răng của hệ thông Việc
xây dựng mồ hinh cân phái dựa trên các yêu tổ dữ liệu dâu vào và đâu ra Mô hình nay được sủ đựng để sinh đầu vào cho các ca kiểm thử Tiếp đến, chúng ta sẽ sinh giá trị dau ra mong muốn ứng với mỗi bộ đầu vào Khi kết thúc bude nay, chang 12 được
ca kiểm thử Các kịch ban kiểm thứ sẽ được thiết kế và thực thi nhằm phát hiện các lỗi/khiêm khuyết của sản phẩm băng cách so sánh dau ra thuc tế với đầu ra mong đợi
tương ứng của ca kiểm thử Từ các kết quả kiểm thử, chúng ta sẽ quyết định hành động tiếp theo như sửa đổi mô hình hoặc đùng kiểm thử
Trang 30người dùng cuối
(sage
Hinh 2: Quy trình kiểm thử hướng mô hình Hình 2 mô tả các bước của quy trình kiểm thử hướng mô hình, trong đó
Bước 1: Mô hình hóa mô hình kiêm thử bằng Spee Explorer
Bao gồm (1.1) Sinh mô hình và (1.2) Sinh các ca kiểm thứ trong Hình 2
Ở bước này, từ bản đặc #4 yêu cầu phân mềm, ta có thể xác định được
các tác vu/chức năng cản cỏ của hệ thống Qua đó xác định được các trạng
thải/hành động/sư kiện phát sinh làm thay đổi trạng thải hệ thống, Đó chính là
căn cứ đề sinh mô hình kiêm thử (1.1 trong Hình 2) Ngoài ra bàn đặc tả yêu cầu phần mềm cũng đóng vai trò làm đầu vảo cho việc sinh các đầu ra mong muôn của từng tác vụ/chức năng hệ thông Qua đó ta có thẻ đem so sánh ngay mô hình
có được ở 1.1 với các đầu ra mong muốn này đề đánh giá mô hình ngay từ
30
Trang 31những bước dầu tiên, nhằm phát hiện các lỗi ngay từ sớm dễ cỏ biện pháp chỉnh sửa cho đúng, cũng như cất giảm ngay các chì phí phát sinh về sau nếu gặp phải các lỗi nay
Trong các tác vụ tiếp theo, Spec Explorer sế tự động sinñi các ca kiếm thứ
và các kịch bản kiểm thử (2,2 trong Hình 2)
“Bước 2 Thực biện các kịch bân kiêm thứ bằng Selenium
Bao gém (2) †hực hiện các kịch bản kiểm thứ trong Linh 2
Ở bước này, dé tanh viée hao tổn lớn đến tài nguyên phát triển phần mềm (bao gồm cả về kinh tế và nhân lực) cho việc tạo các Adapter chuyển đổi Test Script lự xinh của Spee Explerer trong bước 1, tá sử dụng Selemium để (đực: thị ra các ca kiểm thifedc kịch bản kiểm thứ (2 trong Hình 2) một cách trạc
quan, đễ đàng cũng như giảm cáo hao phí ti nguyên đến mức tôi đa
Qua bước này ta có dược báo cáo kiêm thứ bằng việc ghi nhận dầu ra của
hệ thống với từmg ca kiếm thử Báo cáo kiếm rhứ này được đem so sánh với cả
mô hình ở 1.1 và cả đẩu ra mong muốn đã có ở trên Từ đỏ đánh giá kết quả thụ
được khi thục biện thực tế các ca kiểm thử/các kịch bản kiểm thử có được ở 1.2
Bước 3: Đánh giá chéo giãa mô hình và thực lế,
Bao gm (3) Đánh giá chéo trong Hình 2
Ở bước nảy, việc kiểm tra/đánh giá chéo giữa mỏ hình kiểm thứ với thực
ấy ra trong hệ thống cũng,
lế lò rất cần thiết Qua đó có thể phát biển các lỗi như những tác vụ còn thiểu sỏt để có biện pháp xử lý kịp thời Sau khi quyết định các giải pháp giải quyết vân để cần cập nhật lại mô hình, sau đó đánh giá
ngay lại các tác vụ liên quan trên mỗ hình xem có phát hiện thêm lỗi mới nào
không Nếu không thị thực hiện lại bắt đầu từ bước L.2 trong llinh 2
Buée 4: Tham khảo ÿ kiến cia chuyén gia va người dùng cuối,
Bao gdm (4) Tham khdo y kién chuyên gia/người đừng cuối trong Hình 2
31
Trang 32Việc tham kháo kinh nghiệm kiểm thứ của các chuyên gia là rất cần thiết Nhìn vào mô hình và cáo yêu cầu hệ thông, họ có thể phát hiện ngay các lỗi có thể xây ra từ rất sớm, tránh dược rất nhiều các hao phí tài nguyên cho việc phát triển phần mềm về sau
Ngoài mm, người dùng cuối cũng dóng vai trỏ rất quan trọng trong việc phản hỏi ý kiến về cáo lỗi xảy ra trong quả trinh chạy của hệ thống, Day efing la đối tượng và là mục liêu cuối cùng mnả việc phát triển hệ thống cần hướng đến
dé lam théa min nhụ câu của họ bằng việc nâng, cao chất lượng phần mềm
Cáo bước kiểm thử nói trên điển ra trong quy trình phái triển ứng dụng (Web)
và có thể dược thực hiện bởi các nhà phát triển bằng cảch kiếm tra các mô hình ở các
ức trữu tượng khác nhau, vả nên được thực hiện lặp đi lặp lại cho đến khi các mô lủnh nảy đạt được các yêu cầu kiểm thử Điều nảy cho phép tích hợp các ca kiểm thử ngay từ giai đoạn đầu của quá trinh phát triển Tuy nhiên, việc đánh giá khi sứ dựng,
của ứng đụng web vẫn cần có sự tham gia của người đủng cuối Có thể coi quá trình sử
dụng của người dùng cuối như bước kiểm thứ cuỗi củng cho việc phát triển ứng dụng Thông qua việc thu thập những phân hổi của người ding cuối cũng có thẻ tạo ra một tháo cáo đánh giá đề cung cấp thông tin phan hỏi ở giai đoạn tảo đó của quá trùnh phát
triển,
1.5 Kết luận chương
Chương 1 đã trình bày được những vẫn đề sau:
1 Tổng quan vẻ kiểm thử vả kiểm thứ hướng mô hình: Phần này đưa ra những, khái niệm về kiêm thử và kiếm thử hướng mô hình, khái niệm chất lượng sân phẩm phân mềm, khái niệm ngôn ngữ mô hình hóa và các ngôn ngữ mỏ hình hóa phỏ biến nhất đang được sử dụng trong kiểm thứ hướng mô hình
Trang 33t2
van dé
So sảnh và phân biệt dược giữa kiểm thử thường với kiểm thử lướng mô hình
Từ đó đưa ra được ưu điểm của kiểm thử hướng mê hình so với kiểm thử
Để xuất một quy trình áp dụng kiểm thử hướng mỏ hình kết hợp 2 công cụ dã nói ở trên Quy trình nảy sẽ được áp dụng vào thục nghiệm ở Chương 3 phân
Trang 34CHƯƠNG 2 ĐÁNH GIÁ TÍNH TIỆN DỤNG C
thành một trong những ruục tiêu của nghiên cứu Kỹ thuật xây dựng Web Các công ly
cũng đang nghiên cửu và đầu tư vào đỏ do nhận thức được tâm quan trọng của việc áp dụng các phương pháp đánh giá tính tiện đụng trong quá trình phát triển, thấm tra tính tiên dụng các ứng dụng Web trước và sau khi triển khmi thực tế Một số nghiên cửu[17][4][3] đã chứng mình việc sử dụng các phương pháp này cho phép tiết kiệm rất hiểu chi phí (nhất là chỉ phí bảo trì cho ứng dụng), vì chúng làm giam sự cần thiết phải thay dỗi sau khi phân phỏi ứng, dụng,
Chương nay chỉ ra sự cân thiết của việc nghiên cứu và ấp dụng các phương pháp đánh giá tính tiện dụng trong quy trình phát triển ứng dụng (web) theo hưởng mô hình, các tiêu chuẩn quốc tế vẻ đánh giá tính tiên đụng, xây đựng phương pháp đánh giá tính tiên dụng, để xuất một ruô hình đảnh giá lính tiện dụng của ứng dụng wcb, đưa ra quy trình áp dụng, đánh gia tinh tign dung web trong phát triển ứng dụng web theo hướng, 1nô hình Đây sẽ là cơ sở lý Huyết cho phần thực nghiệm vẻ đánh giả tính tiệu dụng, của wob (Chuong 3 phan 3.4) về sau
2.2 Tiêu chuẩn quốc tế về đánh giá tính tiện dựng
“Tĩnh tiện dụng được hiểu như là một yếu tổ quyết định đến chất lượng, của hệ thông nó là câu trả lời tổng quát nhất cho tất cả các Wai nghiệm của người dùng với công nghệ Nó mé ta chất lượng của sản phẩm và hệ thống từ góc nhìn của người sử
dụng chứng
34
Trang 35180/IHC 9241 (1998)[10] dịnh nghĩa tính tiện dụng: bẩn mém có thê sử dụng khi nó cho phép người đừng thực hiện tác vụ một cách hiệu quả và hài lòng trong từng
ngữ cảnh sử dụng cụ thể
Tế chức tiêu chuẩn hỏa quốc tế (ISO) đã phát triển các mô hình để phân loại và
le tiêu chuẩn
do lường tính Liên dụng của phần mềm Trong phản này sẽ trình bảy về
liên quan tới việc đánh giá tính tiện dụng và các phương pháp tiếp cận để đánh giá tính tiện dụng
TSO/C 93⁄1 [10]J11][9] là một bộ các tiêu chuẩn quốc tế liên quan đền các yêu cầu công thái học cho công việc văn phòng được tiến hành dựa trên các thiết bị đâu
cuối dễ hiển thị hình ảnh ]
su chuan nay dược chia làm 17 phan nhỏ Phan 1 va 2 trinh
‘bay ting quan của loạt tiêu chuẩn và yêu cầu hướng dẫn Phin 3 dén phân 9 giải quyết các yêu cầu và hướng dân thiết kế phần cứng, trong dỏ có Lhể có những tác động lới
phân mềm Cuối củng, phân 10 tới phần 17 giải quyết các đặc tỉnh phân mềm
Tiêu chuẩn ISO/EC 9341 |10[11] trình bảy các hướng dẫn về tinh tiện dựng và được sử dụng để đánh giả tình tiện dụng theo ngữ cánh sử dụng phần mềm Ngoài ra TSOAEC 9241-11 con bd sung Ì phương pháp tiếp cân linh tiện dụng hưởng tiến trình cho phép hệ thông tương tác có thể sứ dụng thông qua tiên trình thiết kể lây con người
làm trưng tâm
Các tiêu chuẩn 1SO/TEC 9126 |8| là một tập hợp các tiêu chuẩn quốc tế vẻ chất lượng phân mềm từ quan điểm sản phẩm Tiêu chuẩn quốc tế này phân chia chất lượng phần mềm thành sáu loại đặc tính: chức năng, độ tin cậy, lính tiện dụng, liệu quả, bảo trị và tính di động Mục tiêu của ISO/IEC 9126 [8] là cung cấp một khuôn khổ cho việc
đánh giá chất lượng phân mễm Phiên bản mới nhật (ISC/TC 9126 2001) bao gồm
quan diễm của người sử dụng và giới thiệu các khái niệm về chất lượng trong sử dựng xhư khả năng của sản phẩm phân mềm cho phép người sử dụng để đạt được các mục tiêu cụ thế của họ có hiệu qua, năng suất, sự hải lòng và an toàn Những đấc tính này
35
Trang 36cũng cáp một định nghữa chặt chế hơn của thuật ngữ "tính tiện dụng” xuất hiện trong,
tiêu chuẩn ISO/ISC 93⁄41-L1
Trong cách tiếp cận sản phẩm theo định hưởng, tỉnh tiện dụng dược xem như lả mệt sự đóng góp tương đối độc lập với chât lượng phân mềm, cũng như bây giờ, được xác dịnh trong an ban 2000 cửa tiêu chuẩn ISO/TEC 9126-1: "Khả nằng của các sẵn phẩm phản mềm được hiểu, được biết, sử dụng và hập dân cho người sử dụng, khí được sử dụng trong các điều kiện quy định * Kế từ TSO/TBC 9126 được giới hạn để xác dịnh một mỏ hình chất lượng tổng thẻ, vá nên dược áp dụng kết hợp với tiêu chuân ISO/TC 14598 Tiêu chuẩn này cưng cấp một khuôn khổ để đánh giá chất lượng của các sân phẩm phần muêm và chỉ ra các yêu câu được đập ứng trong phương pháp đo
hưởng và quy trình đảnh giả
Su Un tại và ứng dụng của bơi tiêu chuẩn ISO/TBC 9126 và ISO/IEC 14.598 đã
thúc đây sự phát triển của LSO/IUC 25000 - tiểu chuẩn SquaRl! [7] Mục tiêu của việc tao ra các tiêu chuẩn này là để cmg cấp một tập hợp các tiêu chuẩn hợp lý và có tố
chúc hơn, phong phú với những dóng góp mới, nhưng cũng thông nhất & phủ hợp với các tiêu chuẩn trước đỏ Do đó SQuaRTi là sự kết hợp của 2 tiêu chuẩn: ISO/TBC 9126
va ISOMEC 14.598
2.3 Xay dung phuong phap dánh giá tính tiện dụng [2]
irong phan nay chung ta xem xét đến việc ứng dụng một phương pháp đánh giả
tính tiện đựng để cung cấp một ruy trình chung trong việc đánh giá tính tiện dụng của
ứng dụng Web được phát triển theo hướng mô hình (Model-driven Web Development - MDWD) Ta sử dụng Mô hình tính tiện dụng, của web (Web Usability Model) lam dau vào và chia nhỏ tính tiên đụng thành các đặc tính [3] Các bước như sau:
tước l: Đưa ra ý tướng cốt lỗi của việc tích hợp một Mô hình tính tiện dựng, của web vào MDWD để đánh giá và cải thiện tính tiện dưng cáo ứng dụng Web
36
Trang 37Hước 2: Mö tả các đặc tính trong đỏ các Mö hình tính tiện dụng của web dược tạo ra Mô tả này được chia thành hai quan điểm theo tiêu chuẩn ISG/TEC 25000 SquaRE |7]: Chất lượng sản phẩm phần mễm và chất lượng trong sử đụng
ước 3: Cuối cùng là đánh giá tính tiện dung bằng cách chỉ tiết hóa tắt cả các giai doạn cửa nó và dưa 1a kết quả theo uuỗi tiêu chí và/hoặc theo các giai doạn khác nhau
Cáo phần tiếp theo sau đây sẽ mô tả cách tích hợp Mô hình tính tiện dụng của web vào MDWD (2.3.1) và đưa ra chỉ tiết Mõ hình tính tiện dựng của web (2.3.2) Các
phân nay được kế thừa (có chỉnh sữa đôi chúD) tir tai liêu tham khảo [2]
2.3.1 Tích hợp Mô hình tính tiện dụng của web vào MDWD
Hình 1 cho thấy tính tiên dụng cửa mat img dung Web có thê được đánh giá ở một số giai doạn trong MI2WD Một mô hình tính tiện dụng của web có thể dược áp đụng theo các nức trừu tượng sau: (1) Mô hình nên tảng độc lặp Platform-Independent Models ( PIMs ); (2) Mô hình nền tầng cụ thể Plaon-Specie Modols ( PSMs ); (3)
Mô hình Mã Code Model ( CM ); (4) Người dùng tương tác User Interaction Mét mé
hình tính tiện đụng của web oé thế có một bộ rât lớn các đặc tính đo lường, đo đó cần
phải có một quá trình lựa chọn trước những đặc lính Linh tiện dụng được coi là có Hên quan theo một số yến tế như mục tiêu/loại cia img dung Web, đổi tượng người ding, v.v Một khia cạnh
an xem xét lá đặc tỉnh từ Mô hình lính liên dụng của web có thế
dược đánh giả ở tất cả các cấp độ trừu tượng, Các thông thì phân hỏi thu dược trong mỗi loại đánh giá só mục đích khác nhau tửy thuộc vào mức độ trừu tượng của mô trình
Ở cấp PIM có thể đánh giá các mô hình như: mô hình điều hướng, v.v Tập các đặc tỉnh đo lường có thể được đánh giá ở mức độ này chủ yếu liên quan đến cách thông tin sẽ dược truy cập bởi người dùng như thé nao va cach théng tin nay sẽ dược trình bảy bởi các mô hình giao điện người đừng trừu tượng như thế nảo ((1) trong Hinh 3)
37
Trang 38Ở cấp PSM nó có thê đánh giả các mô hình giao diện cụ thẻ Tập các đặc tính đo
lưởng có thể được đảnh giá ở mức độ rộng hơn vỉ nó bao gồm các đặc tỉnh liên quan
đến các thành phân phần mẻm cụ thể mả không thể được xem xét ở mức PIM (2)
thể đánh giá các giao dién ° [én edu pavtoan — —
người ding cudi Tap cac y
Phần tich & thiết kế
nhiéu khia canh (3) tr u
nhiều khia cạnh ((3) trong, Nay [Banh oi PSI
By aan 9
— |=] nén ting
ou
Cac danh gia noi
trén dién ra trong quy
trừu tượng khác nhau, và
nên được thực hiện lặp đi
Hình 3: Tích hợp WUM vào MDWD
lặp lại cho đến khi các mô
hình nảy đạt được các yêu câu tiện dụng Điều này cho phép tích hợp các đánh giá tỉnh
tiện dụng trong giai đoạn đầu của quả trình phát triển Web Tuy nhiên, việc đánh giá
khi sử dụng của ứng dụng Web cân sự tham gia của người dùng cuối Việc đánh giá
nảy cũng sẽ tạo ra một báo cáo tính tiên đụng đề cung cấp thông tin phản hồi ở giai đoạn nào đỏ của quả trình phát triển (1), (2) va (3) trong Hình 3)
38
Trang 393.3.2 Mô hình tính tiện dụng của web
Mô hình tính tiện dụng của web được để xuất dựa trên mô hình tỉnh tiện dựng, cho các sân pham phan iném chung dé xual của các lác giả Abrahäo và Inefran, 2006
[3] Mé hinh này dã dược mỡ rộng và thích nghỉ với các sắn phẩm Web theo dinh hướng phú hợp với các tiêu chuẩn SQuaRI ISO/TC 25000 [7] Tuy nhiên, các đặc thử: trong tiêu chuẩn mày là rãi chung chung và dược xác dịnh ở một múc độ trừu
tượng cao Mô hình tỉnh tiện dụng của web sẽ làm chỉ tiết các đặc tỉnh này thành một
tập hợp cáo tiên chuẩn đánh giá tính tiện dung
332.1 Mô hình tính tiện dụng của web theo quan điễm chất lượng sẵn phẩm
Tiêu chuẩn ISOAEC 25010 SquaRE [7] chỉ ra tính tiện dụng của một sản phẩm
phần mềm có thể chía nhỏ thành các đặc tính sau: (1) Khả năng nhận biết, (2) Khả
„ (6) Khả năng
năng tìm hiểu, (3) Khả năng hoạt động, (1) Bảo vệ người đúng khỏi l
tuy cap, (6) Tinh tham my trong giao điện người dùng, (7) Sự Luân thui
(l) Khá năng nhận biết đê cập đến mức độ mà người đùng có thê nhận ra liệu một ứng dụng Web có thích hợp cho như câu của họ hay không, Trong Mõ hình tính tiên dụng của web, đặc tính này được phân chia như trong Bảng 1
Bằng 1: Phân tích về khả năng nhận biết
'Thuậc tính Đặc tỉnh ¥ nghĩa
1.1.1 Sự phủ hợp của Font về màu sắc, kích cố, Thich ứng của phỏng chữ (màu sắc, chủng loại, kích
tống 1.2 khả năng ở s> vác _ | Mức độ mà các thông tin được trình bây trong các
đọc 12.1 Thong tinkén ket Í nám tận trmg theo chủ để
39
Trang 401.2.2 Mật độ thông tin Lượng thông từ cần thiết để ngăn ngừa quả tải
dạng đữ liệu Các khái niềm luôn luôn sử dụng các đại diện tương
bự hoặc ký biểu (ví dụ: đử/mr/yyyy)
Sử dụng pháp ấn dụ tử thể giới thực để siủp lam cho
sự tương tác tụ nhiền hơn
lượng công - L42Tmôti Các yêu tổ được hiến thị cảng súc tích cảng tốt
Việc 1.4.3 Mức độ Phúc tạp _ | Giảm tối thiêu viêc tim hiểu các thông tin được cung
của Thông tin cấp bởi ứng dụng Web
Các thông điệp cần rố rằng và mang tính: hướng dẫn 1.5.1 Tin nhẫn có sẵn — | cao (bao gồm các thông báo lỗi, lời khuyên và cảnh
báo]
sơ đề 2 ngắn 4 ty „| Cung cấp tỉnh trạng hiện tại của các tác vụ được thực
15 Hướng dân 152 Tien d6 tae vurd | vin bởi người sử dụng (vi đụ Số lác vụ đã hoàn
sử dụng ring Thành, chỉ : h số rạng thái ) °
1.53 Bối oãnh người Cung cấp các nội đang mô tả về tình trạng hoại động dùng rõ ràng cia img dung Web (vi dy: trang thai Lop, mute 46
riêng tư )
1.6.1 Hỗ trợ tìm kiếm nội | Cung cấp các tình năng tìm kiếm nội dụng đề cúng
bộ cấp đường đấu điều hướng,
sung Thể hiện rõ trạng thái có thể click của đôi tượng (ví
16Khánäng — Lố2 Khả năng click dy chuyén icon ban tay khi hovar lên đối tượng .)
40