Áp dụng kiểm thử hƣớng mô hình

Một phần của tài liệu Nghiên cứu kỹ thuật kiểm thử hướng mô hình và đánh giá tính tiện dụng áp dụng vào phát triển phần mềm quản lý lưu trữ và số hóa tài liệu (Trang 60)

3.3.1 Áp dụng quy trình

Chuẩn bị:

1. Xác định Mục tiêu: Xây dựng mô hình kiểm thử cho các tác vụ của ứng dụng

web đã xác định ở trên bằng Spec Explorer. Phân tích và đánh giá các mô hình thu được để đánh giá chất lượng và chỉnh sửa. Sau đó tạo các ca kiểm thử, các Test Script thực tế bằng Selenium. Phân tích và đánh giá chéo giữa mô hình và thực tế để rút ra kết quả đánh giá chất lượng của việc áp dụng quy trình kiểm thử hướng mô hình trên quy trình phát triển ứng dụng web hướng mô hình.

Luận văn thạc sỹ Nguyễn Hải Dương – CB130387

61

2. Xác định tài liệu: Tài liệu chính là công văn hướng dẫn Số 283/VTLTNN – NVTW – Bộ Nội Vụ đã được nói đến ở trên. Ngoài ra còn có các tài liệu yêu cầu của khách hàng thông qua các buổi gặp gỡ, trao đổi và đi đến thống nhất các chức năng cũng như làm rõ các vấn đề quan trọng trong yêu cầu của người dùng.

Từ các tài liệu này có thể xác định các chức năng của hệ thống, cũng như đầu ra mong muốn của từng chức năng/tác vụ/hành động hệ thống … Từ đó đưa ra các trường hợp, các trạng thái có thể xảy ra trên hệ thống cụ thể cho từng chức năng. Xây dựng các kịch bản cho từng trường hợp và mô hình hóa các ca kiểm thử, cũng như có thể dựa trên đó để tạo ra các ca kiểm thử thực tế trên bản mẫu ứng dụng.

3. Xác định bối cảnh: Ứng dụng được phát triển trong khuôn khổ gói thầu dự án

phần mềm, áp dụng quy trình phát triển ứng dụng Web hướng mô hình, với sự hỗ trợ của người dùng cuối thực, có chuyên môn và am hiểu về môi trường sử dụng cũng như quy trình nghiệp vụ mà bài toán đặt ra. Điều này tạo thuận lợi trong việc tham khảo các trường hợp có thể xảy ra khi thực hiện bài toán nghiệp vụ trên thực tế. Qua đó có thể chuyển thành các kịch bản kiểm thử hỗ trợ cho việc sinh mô hình cũng như việc tạo ra các ca kiểm thử chính xác hơn.

4. Xác định phương pháp kiểm tra đánh giá: Kiểm thử hướng mô hình bản chất

vẫn là kiểm thử tự động. Thêm nữa công cụ Selenium được sử dụng ở đây cũng là công cụ sử dụng trong kiểm thử tự động truyền thống. Nên phương pháp đánh giá chính là tham khảo ý kiến của các chuyên gia trong lĩnh vực kiểm thử tự động để lấy ý kiến của họ về các kết quả đạt được khi áp dụng kiểm thử hướng mô hình. Ngoài ra việc lấy ý kiển phản hồi từ khách hàng, cũng như đánh giá chéo giữa kiểm thử tự động thực tế với mô hình tự sinh bởi công cụ cũng là một phương pháp tối ưu giúp xác định chất lượng của các mô hình kiểm thử đã xây dựng được ở các bước trên.

Thực hiện:

Luận văn thạc sỹ Nguyễn Hải Dương – CB130387

62

Spec Explorer sử dụng ngôn ngữ code để mô hình hóa mô hình kiểm thử. Do đó cần học ngôn ngữ mô hình hóa này để viết code cho việc tự sinh các mô hình.

Để tiện cho việc trình bày, ở đây sẽ lựa chọn chức năng tài khoản để trình bày về quá trình mô hình hóa này. Hình 7 thể hiện mô hình kiểm thử cho chức năng tài khoản. Trong đó:

- Si : là các trạng thái chuyển đổi của hệ thống khi xảy ra các hành động

- c_login_empty(): Hành động đăng nhập khi chưa điền thông tin tài khoản (tên tài khoản + mật khẩu)

- c_login_acc(): Hành động đăng nhập khi chưa mới điền tên tài khoản mà chưa điền mật khẩu

- c_login_pass(): Hành động đăng nhập khi chưa mới điền tên mật khẩu mà chưa điền tài khoản.

- c_login_err(): Hành động đăng nhập bị lỗi.

- c_login_success(): Hành động đăng nhập thành công.

- a_back(): Hành động tự động quay trở về trạng thái ban đầu khi gặp lỗi. - c_logout(): Hành động đăng xuất hệ thống của người dùng.

Hình 7: Mô hình kiểm thử tự sinh cho chức năng tài khoản.

Để có được mô hình này, cần phải viết code bằng các ngôn ngữ mô hình trong các file tương ứng. Quan trọng nhất ở đây là file Config.cord – nơi thể hiện toàn bộ cấu hình của hệ thống mô hình hóa. Trong trường hợp này, file Config.cord có nội dung như sau:

Luận văn thạc sỹ Nguyễn Hải Dương – CB130387

63

Hình 8: Phần cấu hình các action chuyển trạng thái và trỏ file gen Test Script.

Hình 9: Phần định nghĩa mô hình kiểm thử.

Hình 10: Phần định nghĩa mô hình test case. (adsbygoogle = window.adsbygoogle || []).push({});

Từ các đoạn code cấu hình này, chúng ta có mô hình test case tự sinh như sau:

Luận văn thạc sỹ Nguyễn Hải Dương – CB130387

64

Từ mô hình Test Case này sẽ sinh ra được Test Script như hình bên dưới:

Hình 12: Mô tả code Test Script tự sinh.

Dựa trên các mô hình này kết hợp với các tài liệu yêu cầu hệ thống đã có có thể tự phán đoán và phát hiện các thiếu sót. Qua đó chỉnh sửa và đánh giá lại mô hình nhiều lần cho đến khi đạt được các yêu cầu đặt ra.

Bước 2. Thực hiện các kịch bản kiểm thử bằng Selenium.

Selenium là một công cụ kiểm thử tự động rất trực quan và dễ sử dụng. Nó có một cơ chế record để lưu lại các hành động làm thay đổi trạng thái của hệ thống và chạy lại các bản record đó trên trình duyệt.

Luận văn thạc sỹ Nguyễn Hải Dương – CB130387

65

Hình 13: Quá trình tạo Test Case bằng Selenium và FireFox

Bước 3: Đánh giá chéo giữa mô hình và thực tế.

Dựa trên các kết quả thu được từ mô hình kiểm thử so sánh với quá trình kiểm thử thực tế để tìm ra điểm khác nhau giữa mô hình lý thuyết và thực tế kiểm thử. Qua đó có thể đánh giá được chất lượng của mô hình kiểm thử, đồng thời đưa ra các điều chỉnh hợp lý cho cả mô hình và các ca kiểm thử thực tế để đạt hiệu quả kiểm thử. Quá trình lặp lại nhiều lần cho đến khi đạt được các yêu cầu đặt ra.

Bước 4: Tham khảo ý kiến của chuyên gia và người dùng cuối.

Việc tự đánh giá thông qua các kết quả thu được không có tính khách quan, cũng không thể so sánh với kinh nghiệm của các chuyên gia trong lĩnh vực kiểm thử tự động, nên rất có thể sẽ bỏ qua các trường hợp lỗi đáng tiếc. Hơn nữa mục tiêu cuối cùng hướng đến là sự hài lòng của khách hàng về chất lượng sản phẩm, nên khách hàng mới là người đánh giá cuối cùng về chất lượng sản phẩm đầu ra. Do đó việc tham khảo ý kiến chuyên gia và lấy phản hồi của người dùng cuối là rất cần thiết. Thông qua bước này sẽ hoàn thiện một cách tốt nhất mô hình kiểm thử đã đề ra.

Luận văn thạc sỹ Nguyễn Hải Dương – CB130387

66

3.3.2 Tóm lƣợc kết quả

Bằng việc áp dụng quy trình kiểm thử hướng mô hình và lặp đi lặp lại trong suốt quá trình phát triển ứng dụng này, nhóm phát triển ứng dụng thu được những kết quả rất tốt, bao gồm những lời khen ngợi của các chuyên gia trong lĩnh vực kiểm thử tự động, cũng như sự hài lòng của khách hàng sau từng phiên bản triển khai. Hầu hết các đánh giá đều hướng dần đến việc nâng cao được chất lượng sản phẩm, phát hiện sớm được rất nhiều lỗi có thể nảy sinh trong quá trình mã hóa cũng như triển khải sản phẩm đến người dùng cuối, đạt được sự hài lòng tăng lên theo thời gian và theo từng vòng đời bản mẫu ứng dụng từ phía khách hàng. Đó là niềm động viên và là động lực dồi dào để tác giả tiếp tục nghiên cứu và triển khai, áp dụng, chỉnh sửa quy trình kiểm thử hướng mô hình ngày một hoàn thiện hơn, nhằm nâng cao chất lượng sản phẩm, giảm thiểu tối đa chi phí bảo trì cũng như đạt được mức độ uy tín cao trong lòng khách hàng.

Việc áp dụng thành công quy trình kiểm thử hướng mô hình trong một dự án thực tế là minh chứng rất rõ ràng cho sự đúng đắn và khả thi của phần lý thuyết nghiên cứu được ở Chương 1.

3.4 Đánh giá tính tiện dụng của web. 3.4.1 Áp dụng quy trình 3.4.1 Áp dụng quy trình

Bước 1: Chuẩn bị

1.1. Xác định Mục tiêu: Phân tích WUEP để đánh giá hiệu quả của nó bằng cách lấy ý kiến của người dùng cuối về sự hài lòng của người dùng khi sử dụng hệ thống. Qua đó cho thấy tính khả thi của phương pháp tiếp cận này khi nó được áp dụng cho các hiện vật Web từ một quy trình phát triển Web hướng mô hình.

1.2. Xác định tài liệu: Tài liệu chính là công văn hướng dẫn Số 283/VTLTNN – NVTW – Bộ Nội Vụ đã được nói đến ở trên. Ngoài ra còn có các tài liệu yêu cầu của khách hàng thông qua các buổi gặp gỡ, trao đổi và đi đến thống nhất các chức năng cũng như làm rõ các vấn đề quan trọng trong yêu cầu của người dùng. Từ đó có thể xác

Luận văn thạc sỹ Nguyễn Hải Dương – CB130387

67

định được các yêu cầu chức năng của hệ thống, qua đó xác định được các thành phần bắt buộc có trên giao diện người dùng để hỗ trợ cho việc tương tác người-máy. Từ giao diện phác thảo này có thể sắp xếp lại bố cục cũng như phân tích chúng để làm nảy sinh các vấn đề tính tiện dụng ẩn chứa bên trong.

Bước 2: Xác định bối cảnh

2.1. Bài toán cần giải quyết: Ứng dụng được phát triển trong khuôn khổ gói thầu dự án phần mềm, áp dụng quy trình phát triển ứng dụng Web hướng mô hình, cố gắng tạo ra đầy đủ các hiện vật Web cần thiết cho việc đánh giá tính tiện dụng của Web, với sự hỗ trợ của người dùng cuối thực, có chuyên môn và am hiểu về môi trường sử dụng cũng như quy trình nghiệp vụ mà bài toán đặt ra. Điều này tạo điều kiện thuận lợi cho việc lấy ý kiến đánh giá người dùng cuối khi cần thiết để đánh giá chất lượng của việc áp dụng quy trình đánh giá tính tiện dụng.

2.2. Các phương pháp kiểm tra đánh giá. (adsbygoogle = window.adsbygoogle || []).push({});

Đầu tiên phải lựa chọn các đặc tính tiện dụng từ Mô hình tính tiện dụng của web ở phần 2.3. sao cho phù hợp với mục tiêu bài toán đặt ra và với người sử dụng hệ thống. Trong trường hợp này sẽ lựa chọn một tập hợp các thuộc tính quan trọng như:

- Giao diện thẩm mỹ và nhất quán (1.1.1,1.1.2 Bảng 1; 3.5 Bảng 3; 6.1,6.3 Bảng

6): Ở đây, sự kết hợp giữa font và màu sắc phải thật sự hợp lý. Như các đặc tính 1.1.1,1.1.2 đã nêu, font chữ phải vừa đủ về kích thước, màu sắc chữ, và loại. Trong ứng dụng này, ngôn ngữ được sử dụng là Tiếng Việt, do đó cần chọn font tương ứng để hiển thị được Tiếng Việt, màu sắc chữ phù hợp với hiển thị xung quang (chữ xanh trên nền trắng hoặc chữ trắng trên nền xanh như Hình 14.). Tone màu chủ đạo được sử dụng là xanh và trắng; các liên kết có cùng hiệu ứng đổi màu khi hover chuột, các menu active được hiển thị màu nền sáng hơn (như menu “Trang chủ” trong Hình 14) … thể hiện sự nhất quán trong thiết kế giao diện người dùng (phù hợp với thuộc tính 3.5, 6.1, 6.3).

Luận văn thạc sỹ Nguyễn Hải Dương – CB130387

68

- Thông tin được hiển thị khoa học và giá trị (1.2.2,1.2.3, 1.6.2 Bảng 1; 2.1, 2.2.1,

2.3.1, 2.3.2 Bảng 2): Mật độ thông tin hiển thị trên giao diện được căn chỉnh sao cho hiển thị được tối đa thông tin nhưng vẫn dễ đọc và không làm người dùng khó chịu hay mỏi mắt (1.2.2,1.2.3). Ngoài ra, trên giao diện còn cung cấp các hiệu ứng phản hồi giúp người dùng dễ dàng hiểu vào thao tác với các đối tượng như: Khi hover chuột lên các đối tượng có khả năng click con trỏ chuột sẽ đổi sang hình bàn tay, thể hiện cho người dùng biết đó là đối tượng có thể click được (1.6.2), menu và các đối tượng được đặt tên sát nghĩa nhất có thể với tác vụ tương ứng trong thực tế mà người dùng làm việc để họ dễ hiểu ý nghĩa của tác vụ, từ đó họ có thể xác định được các tác vụ có thể thực thi trong chức năng tương ứng (2.1,2.2,2.3).

- Thao tác tối thiểu, kết quả tối đa (1.4.1 Bảng 1; 9.1 Bảng 9): Giảm thiểu tối đa

thao tác của người dùng, các đối tượng trên giao diện được sắp xếp sao cho tiện lợi nhất cho các thao tác của người dùng (1.4.1), như trên Hình 14, phần tìm kiếm, các đối tượng được sắp xếp sao cho tiện việc thao tác tuần tự của người dùng, từ nhập từ khóa,

Luận văn thạc sỹ Nguyễn Hải Dương – CB130387

69

chọn tiêu chi tìm kiếm, rồi click vào nút tìm kiếm (Hình 14). Thêm nữa, tiến trình các tác vụ trong ứng dụng được thể hiện rõ ràng, đơn giản, dễ hiểu, tương ứng với các tác vụ thực tế, và quan trọng nhất là thời gian xử lý tác vụ phải là chấp nhận được (9.1). Một số tác vụ xử lý dữ liệu lớn như “Quản lý hồ sơ văn bản” trong menu “Quản lý lưu trữ” đã được nhóm phát triển tối ưu hóa rất nhiều để tăng hiệu năng xử lý, cho ra kết quả chính xác và đầy đủ nhất.

- Cung cấp các trợ năng hữu ích như tìm kiếm, quản lý đầu vào.. (1.6.1 Bảng 1;

3.2 Bảng 3): Trong ứng dụng này, nhóm phát triển cung cấp rất nhiều tùy chọn cho tác vụ tìm kiếm, từ tìm kiếm đơn giản, tìm kiếm nâng cao đến việc tìm kiếm nhiều tùy chọn (1.6.1). Do đặc thù phải xử lý rất nhiều dữ liệu về tài liệu lưu trữ nên việc cung cấp nhiều tùy chọn tìm kiếm cho người dùng là rất cần thiết trong nhiều trường hợp cụ thể khác nhau. Ngoài ra mỗi tác vụ đều được kiểm soát các đầu vào và có các cơ chế bảo mật riêng (3.2)

- Tiến độ tác vụ rõ ràng (1.5.2, 1.6.3 Bảng 1): Như đã nói ở trên, các tác vụ đều

được hiển thị trạng thái và tiến độ cho người dùng biết và dự đoán được thời gian cũng như hiệu năng của việc xử lý tác vụ.

- Khả năng tương thích môi trường nhất là tương thích độ phân giải (3.1 Bảng 3):

Khi thiết kế giao diện của phần mềm, nhóm phát triển đã rất chú trọng đến việc thiết kế nên một giao diện có thể hiển thị trên mọi độ phân giải hiển thị và trên hầu hết các môi trường như Android, WindowsMobile, iOS, Linux … cũng như các trình duyệt web khác nhau như Chrome, Firefox, Safari, Microsoft Edge, IE, … Nhóm phát triển đã sử dụng Bootstrap (có tinh chỉnh) để thiết kế giao diện, đồng thời cài đặt tất cả các trình duyệt web, cũng như sử dụng nhiều loại thiết bị với màn hình hiển thị khác nhau + cài đặt các hệ điều hành khác nhau để tiến hành kiểm tra đánh giá yếu tố này.

- …

Tiếp theo, xác định các tham số tương ứng với các đặc tính đã được lựa chọn ở trên cũng như các hiện vật có được từ việc phát triển ứng dụng. Khi các số liệu đã được

Luận văn thạc sỹ Nguyễn Hải Dương – CB130387

70

kết hợp với các hiện vật, các chỉ số được đưa vào xử lý để cung cấp một công thức tính toán cho hiện vật và xác định các mức đánh giá cho chúng.

Ví dụ: Bảng 12 mô tả một phương pháp kiểm tra đặc tính 1.1.1 Bảng 1.

Bảng 12: Ví dụ về một phương pháp kiểm tra đánh giá.

Đánh giá Tỉ lệ giữa font chữ của các đối tượng trên giao diện Web Đặc tính bị ảnh hưởng 1.1.1. Bảng 1: Sự phù hợp của font chữ về kích thước Nguồn vấn đề Hiện vật thiết kế giao diện Web

Một phần của tài liệu Nghiên cứu kỹ thuật kiểm thử hướng mô hình và đánh giá tính tiện dụng áp dụng vào phát triển phần mềm quản lý lưu trữ và số hóa tài liệu (Trang 60)