Bài viết chuyên sâu

[Software Testing] GUI, UI, UX testing

[Software Testing] GUI, UI, UX testing

by Admin Dathoc -
Number of replies: 0

#koolj_softwaretesting

#chiase

#những_mẫu_testcases_cơ_bản

Về kỹ thuật THIẾT KẾ testcase cho checking GUI, UI, UX - User Experience testing, Usability Testing.

Vì là cơ bản nên có rất rất nhiều fan sẽ phải thử khả năng phân tích, nhìn ngó thị giác.... ngay các task mà PM hay TestLeader giao kiểu như: 

- E viết case test GUI

- E viết case về Usability test nhé

- E viết case cho trải nghiệm người dùng

Vậy xin phân bổ ra CÁC NHÁNH cần quan tâm như sau, và những khía cạnh các bạn nên quan tâm, cũng như sách vở gì ở đâu dạy bạn.

Vậy bạn cũng có thể dựa vào kinh nghiệm hoặc lấy các case tổng hợp từ nguồn khác cho bổ sung cái bạn đang thiết kế.

.

.

.

1. Thiết kế cases: nếu cho mình viết case GUI, UI, UX, Usability mình sẽ thiết kế như cái ảnh đính kèm. Và cách làm check GUI, UI theo sẽ là dùng các loại tool có thể để validate các case này. Hãn hữu lắm mới mò tới mắt mũi, chân tay. Còn check UX cần time và nhiều đối tượng khác nhau từ con người sử dụng (nếu sp cho con ngưòi).

- Ví dụ cách tôi validate màu sắc trên web: https://www.youtube.com/watch?v=VJDuTeiLV3Y

- Ví dụ cách tôi validate độ dài rộng vị trí object trên mobile: https://www.youtube.com/watch?v=6geMSqPGtGo

- Ví dụ cách một Studio trải nghiệm một Game mới ra đời, xem clip từ đoạn này: https://www.youtube.com/watch?v=Yu75J3tku2A...

- Ví dụ cách một tool chuyên test UX trên mobile: https://www.youtube.com/watch?v=_cneKVGqfNU 

.

.

2. From which theory: Còn đây là lý thuyết sương máu vì sao mình lại thiết kế nó như vậy

- Quyển sách cần tham khảo đầu tiên, và có lẽ chỉ cần 1 quyển này thôi, cũng là căn bản cho bất cứ ai làm GUI, UI, UX cho phần mềm (dành riêng). Và các tester nhà ta thường hay vào đó để tham khảo case: Human Computer Interaction, link xem online: https://arl.human.cornell.edu/.../Interaction%20Design%20...  ...về nguyên tắc cơ bản của thiết kế, tổng kết là: 

- Visibility - Phần mềm/chức năng kèm GUI, UI, UX có sự hiện hữu của đối tượng (không đc vô hình, tránh khó nhận diện)

👉 Chiến lược: dùng tool compare với based. Ko có based thì ...bắt buộc phải mắt và tay

- Feedback - Phần mềm/chức năng kèm GUI, UI, UX có sự phản hồi khi tác động, thực thi lên phần mềm

👉 Chiến lược: dùng tool lưu hình ảnh trạng thái feedback, và tool compare behavior với tương tự

- Constraints - Phần mềm/chức năng kèm GUI, UI, UX có sự ràng buộc (lý do để xuất hiện, bắt đầu từ đâu, sẽ đi tới đâu, tương đồng với những đối tượng khác) 

👉 Chiến lược: dùng tool để check các pre-act hoặc post-act, manually compare với tương tự

- Consistency - Phần mềm/chức năng kèm GUI, UI, UX có sự thống nhất trong toàn cảnh (vd dấu hiệu exit phải giống nhau ở mọi nơi, tác động click phải giống nhau mọi nơi, hình ảnh nút phải giống nhau mọi nơi, các chuyển động của đối tượng cũng thống nhất 1 kiểu)

👉 Chiến lược: dùng tool compare với chính nó ở các nơi khác

- Affordances - Phần mềm/chức năng kèm GUI, UI, UX cần giúp việc tự học hỏi, tự hướng dẫn tới người dùng

👉 Chiến lược: manually compare với tương tự.

2b. Nói riêng chút: thế nào là UI đẹp, là đủ, Sound như thế ổn chưa, Action movement như thế ok chưa?

- Đa phần tester miễn bàn cái này, vì đơn giản là bạn phải có cái gì đó based (giao diện thiết kế gốc đầy đủ trước khi dev, mô hỏng âm thanh, action động đậy sẵn có làm tiền đề truớc khi làm....) mới test sp về GUI, UI, UX trên cái based đc.

- Nếu bạn không có based vậy: bạn sẽ có rất nhiều việc... phải nói là cực kỳ nhiều việc (chat kh confirm, xem cái tương tự, tự định nghĩa...)

👉 Chiến lược with Based: đơn giản dùng tool so sánh với based, dùng tool so sánh sóng âm, não đạo diễn đánh giá movement.

👉 Chiến lược no GUI based: Một trong những việc quan trọng nhất cần làm ngay khi chưa có based là: tập hợp thông tin từ ứng dụng tương tự để làm based

👉 Chiến lược no GUI Alters: Nếu không có tương tự thì phải tập hợp đủ loại đối tượng mà bạn mong đợi sử dụng và sử dụng thử, rồi bạn ghi lại thế nào là: Tốt Xấu Bug hay OK. Rất tốn time.

.

.

3. Về tính dễ sử dụng (Usability), trong sách trên cũng nêu:

Effective to use - hiệu quả (đạt kết quả - tránh sai lệch) --> 👉 Chiến lược: Đa phần sau khi functional test bạn có thể đánh giá ngay feature này

Efficient to use - hiệu năng cao (nhanh, mạnh tốn ít tài nguyên) -->👉 Chiến lược:  Đa phần sau khi performance test bạn có thể đánh giá ngay feature này

Safe to use - an toàn khi dùng-->👉 Chiến lược:  Đa phần cần đối tưọng sủ dụng đánh giá. Nhưng cũng có thể sau penetration/security test bạn sẽ đánh giá đc cái này

Have good utility - đủ tiện dụng khi thao tác ->👉 Chiến lược:  cần đối tượng đánh giá, và bạn nên compare sp tương tự về độ tiện dụng, sp kèm, sp dựa trên nó sống. Nếu không bạn sẽ không định nghĩa được thế nào là TIỆN.

Easy to learn - dễ dàng tự học ->👉 Chiến lược:  cái này nếu bạn học Sư Phạm thì sẽ có rất nhiều case. Với các sp về Giáo dục, AI thì nó có... unlimited cases để validate.

Easy to remember how to use - dễ dàng ghi nhớ ->👉 Chiến lược:  duy nhất có não người mới đánh giá tốt được cái này. Hiện nay AI chưa đủ mạnh.

(bạn bổ sung nhé....)

Sách KHÁC tham khảo nên là:

https://www.elementarydigital.co.uk/the-different-types.../

https://xd.adobe.com/.../top-7-usability-testing-methods/

.

.

4. Về mức độ trải nghiệm (User Experience), trong sách trên và thêm mắm muối trải nghiệm.

Tuỳ bạn trưởng thành tới đâu, giới nào sẽ cảm xúc ở UX này. Nhưng đa phần tôi khuyên bạn nên dùng:

👉 Nên 1 chiến lược test DUY NHẤT (tất nhiên còn 4 chiến lược khác bạn xem ảnh) là:

manually COMPARE với cái tương tự. Bạn sẽ đánh giá các feature sau được ngay lập tức.

Có một số tool đảm bảo có thể thay thế được- xong ko gì TỐT NHẤT ngoài đánh giá từ end-users.

Có nghĩa là: cái này RẤT cần mắt mũi chân tay não người để trải nghiệm. Và đôi khi tốn time.

Satisfying - độ thoả mãn (về mọi khía cạnh)

Aesthetically pleasing - thấy thú vị (cảm giác thân thiện gây cho mình muốn sử dụng)

Enjoyable - thấy yêu thích (cao hơn cấp độ thú vị)

Supportive of creativity - có tính đột phá (có tác dụng tốt trên cả mong đợi)

Engaging - thấy hấp dẫn (cao hơn thú vị, dưới cấp độ yêu thích)

Pleasurable - thấy sung sướng (cao hơn yêu thích - đáp ứng toàn diện yêu cầu)

Rewarding - có cảm xúc được thừa hưởng

Exciting - thấy vui vui (dưới cấp độ thú vị)

Fun - thấy có vẻ hài hước (cao hơn exciting)

Entertaining - được thư giãn, thoả trí (cao hơn fun)

Provocative - thấy bị chọc tức nhẹ (fun nhưng gây phản cảm)

Helpful - thấy hữu ích (có lợi)

Surprising - thấy ngạc nhiên (mới lạ - yếu tố không ngờ)

Motivating - tạo động lực (gây ảnh hưởng tích cực)

Enhancing sociability - mở rộng xã hội hoá (giao tiếp tương tác với đối tượng khác...)

Emotionally fulfilling - tràn đầy cảm xúc

Challenging - thấy có thử thách

Boring - thấy buồn tẻ

Annoying - thấy phiền (gây khó chịu)

Frustrating - thấy bực bội (cao hơn annoying)

Cutesy - thấy dễ thương

(chắc chắn bạn sẽ bổ sung nhiều hơn)

Sách KHÁC tham khảo cái này nên là:

Effective GUI: https://1drv.ms/b/s!AoMt1NVPO04zg9IWPYmnh9MO6KUc8Q?e=d296Oc

Ui/Ux how: https://course.ccs.neu.edu/cs5500sp17/09-UX.pdf

.

.

.

Vậy chừng đó với case mình đã từng thiết kế, bạn có thể kết hợp để tạo ra những case hoàn hảo hơn.

Gluk!


--------------------------------


SÁCH - TẠP CHÍ - TÀI LIỆU ĐÚC KẾT KINH NGHIỆM làm về SOFTWARE TESTING cần tham khảo: dathoc.net/booktest

Bạn muốn thông thạo hơn việc viết thiết kế testcase, sử dụng công cụ automation test HERA để auto test, các framework Appium, TestNG, xin tham gia FREE tại: youtube.com/c/TesterPRO/


By: dathoc.net/cv