Kiểm thử Game và cách tạo Testcases/Checklist
Bài đăng này đã không được cập nhật trong 6 năm
1. Sơ lược về Kiểm thử Game
Kiểm thử Game là một trong những phần quan trọng nhất trong quá trình phát triển Game, và cũng là quá trình kiểm thử khá phức tạp và cần được xử lý đúng cách, đúng quy trình như bất kỳ loại kiểm thử nào khác.
Công việc kiểm thử Game không dành cho những người không có chuyên môn, mặc dù có một quá trình dành cho thử nghiệm người dùng trực tiếp, hay alpha, beta test. Người sử dụng đóng vài trò như một người chơi Game thực thụ, và sẽ gửi thông tin hoặc báo cáo khi có bất kỳ vấn đề hay lỗi nào xảy ra. Tuy nhiên việc giảm thiểu quá trình kiểm thử Game bằng những thứ đơn giản hơn như chỉ chơi Game và xem nếu có bất kỳ vấn đề gì hay không sẽ làm suy giảm nghiêm trọng chất lượng trò chơi.
2. Các kỹ thuật kiểm thử Game
Sau đây là một số kỹ thuật kiểm thử Game, mà có mối liên quan tới thử nghiệm phần mềm di động:
-
Combinatorial Testing: Đây là một phương pháp thiết kế trải nghiệm đã được sử dụng cho kiểm thử các phần mềm thương mại và dùng để sinh ra các test cases. Áp dụng Combinatorial Testing để kiểm thử Game làm tăng hiệu quả thực thi, cung cấp chất lượng, giảm chi phí và giúp cho việc ngăn chặn rủi ro tốt hơn.
-
Clean Room Testing: Đây là quá trình nhằm phát triển mức độ đáng tin cậy trong Game.
-
Functionality Testing: Phương pháp nhằm xác định các bugs hoặc errors trong Game mà có thể gây ảnh hưởng tới trải nghiệm người dùng.
-
Compatibility Testing: Được sử dụng để tìm xem trò chơi có hoạt động bình thường hay không, và có liên quan đến cấu hình phần cứng, đồ hoạ và phần mềm mà thiết bị sử dụng. Đây là một trong những loại kiểm thử phần mềm di động thiết yếu nhất, và sẽ kiểm tra nếu như tiêu đề Game có thể chạy trên những thiết bị cụ thể hay không. Các ứng dụng điện thoại yêu cầu thêm rất nhiều quan điểm test mà không dựa vào chức năng. Ví dụ như ứng dụng này tiêu tốn bao nhiêu dữ liệu? Pin? Và ứng dụng có hoạt động khác đi nếu pin yếu không? Nó thải ra bao nhiêu dữ liệu rác? Và cách xử lý dữ liệu rác như thế nào?... đều là những quan điểm cần thêm vào khi thực hiện kiểm thử.
-
Tree Testing: Loại kiểm thử này khá giống với usability testing, được dùng để sắp xếp tổ chức các test cases. Nó cũng giúp để lựa chọn các thiết lập thích hợp cho những phần thay đổi code.
-
Regression Testing: Kiểm thử hồi quy được thực hiện để kiểm tra lại các phần không thay đổi của ứng dụng. Sẽ tiến hành phân tích chức năng khác của ứng dụng có hoạt động tốt hay không và những thay đổi sẽ không gây ra bất kỳ lỗi hoặc lỗ hổng mới nào.
-
Ad hoc Testing: Đây là một phương pháp thử nghiệm không thường xuyên được sử dụng để phá vỡ hệ thống. Người kiểm thử sẽ ngẫu nhiên kiểm tra ứng dụng mà không có các testcases hoặc bất kỳ tài liệu nào.
-
Load Testing: là thử nghiệm hiệu suất để xác định hiệu suất của một hệ thống theo thời gian thực. Thử nghiệm tải cho thấy phản ứng của ứng dụng khi nhiều người dùng cùng sử dụng ứng dụng đồng thời.
-
Play Testing: là phương pháp thử nghiệm trò chơi bằng cách chơi trò chơi để phân tích các tính năng không hoạt động như các yếu tố vui nhộn, độ khó, cân bằng, vv Ở đây một nhóm người dùng được chọn sẽ chơi các phiên bản chưa hoàn thành của trò chơi nhằm kiểm tra các luồng cũng như tính năng.
3. Tạo Testcases/ Checklist cho kiểm thử Game
Testcases hay Checklist cho kiểm thử Game cũng cần có những thành phần chính giống như một Testcases thông thường.
- View point: Quan điểm test.
- Expected results: Tuỳ theo yêu cầu và tài liệu đặc tả của Game, mà viết kết quả mong muốn tương ứng.
- Actual results: Kết quả sau khi đã tiến hành kiểm thử.
Dưới đây là ví dụ Testcases hay Checklist đơn giản cho kiểm thử Game
ID | View Point | Description |
---|---|---|
1 | Check for background music and sound effects | ON/OFF sound & background music |
2 | Receive the call and check | |
3 | Verify if sound effects are in sync with action | |
4 | ON/OFF device sound(native sound) and check | |
5 | Check for vibration effect if present | |
6 | User Interface | Check in Landscape/Portrait mode |
7 | Check for animation, movement of character, graphics, Zoom In/Out (all gestures) etc | |
8 | There should not be any clipping (cutted background) | |
9 | Test whether one object overlaps with another | |
10 | Verify if loading indicator is displayed wherever required | |
11 | Character should not move out of the screen/specified area | |
12 | Test for enable and disable images/icons/buttons etc | |
13 | Check for screen title | |
14 | Check for message title, message description, label (should be appropriate) | |
15 | Check scrolling | |
16 | Font displayed (color, size etc) | |
17 | Check other objects too (ex -if its a car race- you need to look at road, people, other objects like buildings etc) | |
18 | Performance | Check the loading time of a game |
19 | Make sure that any action is not taking considerable time, game flow should be fast | |
20 | Score | Score calculation |
21 | Verify leaderboards General/All time/Weekly/local etc | |
22 | Check the score registration functionality | |
23 | Check the format (whether, comma is required in score etc ideally if customer is a foriegner coma should be in millions not in thousands ) | |
24 | Check for level completion syncs with the score | |
25 | Time Out | Check for time out |
26 | Do the actions when time-out yet to happen | |
27 | Multitasking | Switch b/w different apps and play game , check for sound, score, UI, time-out etc |
28 | Pause | Check if game is paused when call received or multitasking or sleep mode |
29 | Save Settings | Turn off and on device, check if settings are saved |
30 | Log out /On , check same | |
31 | User should not loose his game in above conditions | |
32 | User profile | Put a all types of images in Player profile and check |
33 | Put special character, numbers,space in username and check | |
34 | Password should be in masked | |
35 | Chat feature | Check the profile images |
36 | Max limit of chat description | |
37 | Enter empty string, special character and check | |
38 | For a opponent , there should be a notification that he has received a message | |
39 | Functionality | Check game area, game logic |
40 | Play till last level | |
41 | Get the cheat codes from development team and check all the levels | |
42 | Check for the features that will be unlocked level-wise | |
43 | Check for bonus score | |
44 | Check the score hike when level gets increased | |
45 | Check for multi-tap action (example in a car race we hold accelerator and left/right turn button simultaneously) | |
46 | Menu options | |
47 | Different game modes/location | |
48 | Help & About Screen | Should be in easily understandable format |
49 | free from spelling mistakes | |
50 | URL should be hyperlinked (depends) | |
51 | Multiplayer game | Session expiry check |
52 | login/log out | |
53 | Registration (Sign Up) | |
54 | Verify account (receive verification mail) | |
55 | login with registered but not verified account (without clicking verification link) | |
56 | Forgot password checks (many cases here) | |
57 | Game flow | |
58 | Check for WIN/lost/Draw | |
59 | Check user statistics graph | |
60 | Challenge/Decline challenge/receive challenge | |
61 | Check for forfeit | |
62 | Check when player 2’s turn is on Player 1 is not able to do actions (should not be able to forfeit also) | |
63 | Check for pass turn | |
64 | Check for time-out (for one player) | |
65 | Check the score for both the players till game ends | |
66 | Memory leak | Check the game when device memory is low |
67 | Network (n/w) check | N/w messages if n/w is not present |
68 | Check if what happens when n/w not present and user plays a move (whether score submitted for that move etc) | |
69 | Check for localization | Should be Support of different languages |
70 | Check for time format | Change the device time , format etc |
71 | Size | User wont like if your game takes lot of device space, so keep one eye on game file size |
72 | Device , OS | Check in supported screen sizes and os versions (basicaly depend on Client requirement) |
73 | Depends on platform | Sometime we need to check as per OS guidliness as well. For ex in Wp7 we need to check in 2 background (light/dark). |
74 | Check Share options | Post score via mail/FB/Twitter |
75 | Check the posted/sent messages in FB/Twitter/Mail. Check links are hyperlinked and application icon is displayed in the post (depends) | |
76 | If twitter integration is a manual ( custom UI developed by developer), check what happens when u enter more than 140 chars (as twitter limit is 140) | |
77 | Music playing during app launch | If music player running and we start installing any game app, music player should pauses without prompting for the user permission. Steps for checking this: 1. Play a music file. 2. Launch the application. 3. Verify that while the application loads, it does not pause, resume or stop the actively playing music. |
78 | Interuption | If app(game) is in running mode, then Check the behaviour of interuption like like Bluetooth, Infra red and CALL/SMS/MMS. |
79 | Battery effect | What if Battery goes down/switched of the cell while playing, Wheter the score wil get saved? |
80 | Check the downloads/upgrade the Game | Download Game when device has enough free space |
81 | Download Game when device dose not have enough free space | |
82 | Install Game | |
83 | Delete then re-install game | |
84 | Upgrade of Games to the latest version and while migration all data should persist |
All rights reserved