Games Testing

Plickers - 9

What is a Bug?

A "bug" within a game is when the game engine doesn't run the program quickly and errors begin to occur.

3 Popular Bugs

A bug from a more recent game is "Assassin's Creed: Unity" where the user, Retro_Apocalypse took screenshots of the game, where the characters displayed no facial features apart from a pair of eyeballs, hair and some denture-like teeth.


"Final Fantasy XV, 29 November 2016, Square Enix" is notorious for it's game breaking bugs and glitches but this one is one of the most common bugs, instead of one of your characters riding the Chocobos, they will stand on it instead and will never fall off.


In "Super Mario Bros., 13 September 1985, Nintendo", there were many bugs and glitches that have been found throughout it's lifetime, but the one that stood out most to me is, the Small and Fiery mario. Normally when you pickup the fire flower you grow to the next size but as you can see Mario is his base size but with a powerup. Players were able to perform this glitch when they had a fire flower and reached the Boss, Bowser. If you hit the axe and Bowser hits you at the same time, he will die but you will still stay large while talking to Toad. Whenever you get a mushroom or fire flower you'll be able to throw fireballs and still stay small.

Bug Report Example

Lava Jump - Bug Report

Bug Name - Lava Jump

Game Version: Alpha 1.0

Status - Game not working as intended

Date - 30/03/17

How was it discovered - I was playing the game and began to notice a few bugs, such as coins clipping through walls and you could stand on the lava without being forced to restart from the beginning like the game intended.

Severity - 5/5

Priority -5/5

Steps to re-create - Play through the game and you will notice the many glitches/bugs that occur.

L.O. To understand the various aspects of the gaming sector - Amber (Start of the Lesson)

Input/Controller Types:

Keyboard & Mouse

Joystick

Controller

Touch Screen

Remote (Wii/Virtual Reality)

Pad

Balance Board (Wii Fit)

Camera

Display Types:

Monitor: A LCD monitor will usually have higher resolution than the same size LCD TV. As soon as you get into the 22 to 24 inch size, monitors will usually have 1920 x 1200 wide screen resolution, which is higher than 1080p. The same size TV will probably be 720p. This is partly because computer monitors are designed to be used much closer to you than a TV would be.

TV: TV allows the user to play a game from a distance such as sat on a sofa relaxing, whereas with a monitor which is designed for the User to be sat a small distance away from the screen and sat bolt upright.

Headset/Virtual Reality: A virtual reality (or VR) headset is a device that you wear over your eyes like a pair of goggles. It blocks out all external light and shows you an image on high-definition screens in front of your eyes. The goal of the VR headset is to immerse you in a game.

Projector: A big screen is great when gaming alone, but it really comes into its own for split-screen gaming. Playing a 4-player race in Mario Kart 8, for example, meant that each player had a portion of screen that was larger than a standalone 32-inch television. It’s perfect if you want to be able to game together without compromise.

 

Task: 

Create an article, targeted at young kids (10+ years) explaining input devices and display types. Must be informative and compare and contrast the various aspects researched.

L.O. Understand quality assurance in the Games Industry

What is Quality Assurance? (me)

Quality assurance is the idea that when you go to buy a game, that it will meet your expectations of performance and gameplay feel.

What is Quality Assurance? (definition)

Game producers are responsible for setting testing deadlines in coordination with marketing and quality assurance. The games companies test, tune, debug and produce the detailed refinements that ensure the quality and playability of the finished game.

Quality Assurance is important in the Gaming world, because it gives the customer reassurance that they are paying for a game that fully functions, has little to no bugs and is highly playable.

Agile Development Methods:

Putting together a hand picked team with specific roles.

Having an iterative approach (Frequent Builds, E.g. Alpha, Pre-Alpha, Beta).

Regular Face to Face meeting to discuss problems within the game.

Demo Release

Client Feedback

Testing:

During the testing stage of a game we look to:

Test all Major/likely events first

Grade the severity of an error

Have an organized approach to fixing errors.

Task: Create a presentation to hand out to new games development companies explaining to them "Quality Assurance": How to do it successfully and its importance.

Bug Testing Systems

To be able to understand and use bug testing systems to successfully bug test a game

These are bug tracking sheets that I created for my peers to test my game, they have played through my game and have found a few bugs:

1. At the end of the level, there is a missing collider on one of the walls which makes the Player fall off the map. However this bug is not of high priority because it's quite simple to fix.

2. There is a major glitch with my enemy in the game, the player can move the enemy around and it does not send the player back to the beginning of the level which would show that they have died and need to restart. This bug is the highest priority because it's a vital part of my game, otherwise my game would just be a free running game, trying to get from one point of the map to the other end. 

 

With this knowledge and testing, I am going to fix these errors within my game and get another batch of testers to see if there are any more bugs, this would make the game in its next version, Currently my game is in Alpha 1.0, and the next version would depend on how much changes, so it could become either Alpha 1.1 or Alpha 1.0.1.

https://www.youtube.com/watch?v=bvjbjbU58G8 Enemy Patrol

Required Sounds for my game

  • Player running sound /
  • Player jumping sound /
  • Player grab sound /
  • Background sound/music (8 bit, peaceful/ similar to zelda)
  • Enemy sound / 
  • Hit sound /
  • Kill enemy sound / 
  • Death of player sound /
  • Victory Sound
  • Dash sound /

What is a test case with bug reporting?

A set of input values, execution preconditions, expected results and execution postconditions developed for a particular objective or test condition, such as to exercise a particular program path or to verify compliance with a specific requirement.

Gaming industry is growing exponentially due to increase in apps usage in mobile and tablets. It is hard to define a standard strategy for game testing and testing methodologies need to be tailored as each game differs from the other. To start with, aspects like Functionality, Usability, Multi-player functionality, Regression, Endurance, Compatibility, Localization / Internationalization, Performance, Content Testing, Hardware and Recovery Scenarios have to be analyzed. Phases of game testing almost align with the standard Software Testing Life Cycle (STLC) and based on my experience, below is the approach to test games effectively. It starts with requirements elicitation. A thorough understanding of Storyboard, Game Architecture, Game Features, Characters, Concept, Rules, Game points and Game stages/levels helps testers to create an effective game testing strategy.

Game test strategy preparation is the next phase. The Test Strategy document must include sections like Timeline, Testers, Number of Testing Cycles, In-scope, Out-scope, Types of Testing to be conducted, Risk based Test analysis, Service Level Agreements, Risks and Mitigation, Defect Logging Process and Reporting Process. For a typical action game, In-scope tests could be Functionality, Performance, Compatibility, Compliance etc. Validation of hardware components such as Joy -stick, Console, Wi-Fi devices etc. as they are outside the game testing environment.

In third phase, testers should design test cases. Testers should create positive as well as negative test cases.  Following are some effective test case design techniques:

  • Critical Path Test is a technique to identify the critical paths in the game. Critical Path testing helps to reveal the dependencies which causes the failures.

In contrast to Happy Path testing, Exception Path Testing helps to document alternate paths and exceptions path. Also, boundary value analysis, equivalence partitioning, and error guessing are the traditional techniques of black-box testing.
Executing game test cases in the identified environment with different software and hardware configuration reveals more defects. Alpha, Beta Testing and respective age group testing helps to improve the quality of the game further.
Content Testing plays a significant role in game testing, often partially ignored in many projects. It validates the following aspects of the game:

  • Is the content appropriate for the gamers?
  • How easy it is to understand the content?

Test results should be recorded as a movie or as a series of screenshots. This helps the development team to review the behavior effectively. All the defects should be logged, prioritized, categorized and tracked effectively. Defect Logs help developers for the next title work.

Encourage Programmer Unit Testing:

This will make sure that certain stupid bugs, if there is a unit test for them, won't recur, because the unit test will fail if they do. This requires a change in programming methodology, but in my opinion it is completely worth it.

Automate Whatever Testing You Can:

Beyond unit testing, create a set of automated function and acceptance tests that are run on every build to make sure certain builds are good. If you have scriptable controls and your game is generally consistent, you can test lots of bugs automatically.

Create A Multi-Level Test Plan:

Make sure that your testers have a test plan that tests the most important bugs. This should be multi-level:

  • Smoke Test: Tests that the game doesn't crash in the most common cases.
  • Regular Test: Tests more uncommon cases.
  • Soak Test: Run as deep as you can, regressing as many common bugs as possible. Also test that the game can stay on for very long periods of time (days) without crashing.