How to Identify a Good Mobile Game Tester

Game testing is a lucrative career for those who have a passion for playing games and finding bugs. The rise of mobile phones has increased game development and game testing services exponentially.
But if you are a game developer, how do you identify a good mobile game tester? An eye for detail, computer literacy, exceptional memory, good writing skills etc. are well appreciated qualities in a mobile game tester.

Long work hours and recurring overtime can make work exhausting for people working in the game testing services industry. If you really don’t have a love for games, the whole routine could become tiring eventually.

Read Also:  The What, Why and How of Mobile Game Testing

Game Testing- Qualifications required
Since there are no university degree that specializes in game testing at least in most of the countries, candidates appearing for jobs in game testing services are usually tested for suitable skills that will prove beneficial to the job requirements of a game tester.

Some testing jobs, especially senior ones will require experience. With experience, a tester gets a better idea of the game development cycle, its various tools, and can recognize discrepancies and errors easier. Sometimes employers may recruit inexperienced candidates simply because there are lots of inexperienced candidates available for their specific job requirement. Then in order to aid the screening process they will opt for more experienced candidates.
Let’s discuss some of the desired qualities of a game tester. These qualities should be either present in a game tester or are to be developed with experience.
Vital Skills for a Mobile Game Tester
Keen observation: For being a successful game tester, you need to have exceptional talent in finding the oddities. You’d have to keep your eyes wide open and find all those camouflaged and unwanted bits that can decrement your game’s aesthetic appeal.

Problem solving ability: When you see a particular defect in your game’s performance, you should be able to figure out what is the real cause behind such a hurdle.
Love for gaming: Game testing jobs actually requires you to sit and interact with a video game all day long. Passion for gaming is an additional boon to your profession as a game tester. Without any interest towards gaming, it will be difficult for someone to continue on this job for long.
Good writing skills: This is something that is often neglected but yet one of the most important skill that a game tester should possess. A game tester should be able to communicate and record the findings in good and standard language without leaving any scope for ambiguity.
Patience and tolerance to monotonous tasks: Even for interested game players, similar games can cause aversion. So, one should give it a second thought before taking a career path in game testing.

Role specific skills: You must hold skills specific to the area of your work. For example, if you are a professional localization tester, you should have expertise in the language of game content construction. Testing security needs awareness about various security protocols and security threats. Compliance testers should have good knowledge on various IT standards and certification processes.
You May also Like: Is Testing Important for the Mobile Gaming Industry?
Teamwork: This is a general skill that is required in any software based industry. Having the right technical skills alone is not enough to work in an industry. A tester should be a good team player too. When you have to work with a team, you should know how to work cooperatively. Ego can hinder your work. Mutual respect and trust is necessary for team performance.
Meeting deadlines and working under pressure: Overtime and working weekends can become unavoidable when deadlines are to be met. Employees should be willing to accept this and should have strong willpower and motivation towards delivering performance when working under pressure.

6 Top Android App Testing Challenges

Unlike traditional desktop and web applications, android app testing is different and more complex. It has its own set of challenges.
app testing
The movement towards mobile devices has brought a whole different set of challenges to the testing world. Not only consumer targeted apps, but enterprise apps as well are on the rise.
Read Also: Top 5 Automation Testing Tools for Android
Here are 6 key challenges that android app developers and testers are facing.

  1. Screen Sizes: The android world is not simple. There are devices with display sizes ranging from sub-3 inches to over 10 inches. The variety of different aspect ratios and pixel densities can be overwhelming as well.

With the launch of iPhone 6, Apple brings new screen sizes to iOS as well. Though iOS developers are used to pixel perfect screen design, they now need to change their mindset to adaptive screen design. But for android it’s at an amplified rate. For testing, it means that we need to check on various devices that all the necessary screen elements are accessible with different screen sizes and aspect ratios.

  1. Connection Types: There are several standards for mobile data connections (edge, umts, 3G, 4G) as well as for wifi (b, g, n). Sometimes there might be no connection available at all or the device is in flight mode. When users move around the connection type might change.

Unfortunately some carriers filter the web on their own will, which results in the devices being connected without actually having connection with a specific service (messaging or calling through apps). Even though connection APIs on mobile platforms have been developed keeping those challenges in mind, the real world environment is still very much varying and interesting set of issues may occur. It’s important to test the bandwidth usage as not all carriers are supporting unlimited data volumes.

mobile app

  1. Different OS versions: iOS users are known to upgrade quickly to newer versions. On the contrary, Android uptake has historically been very slow and the fragmentation is wide. This means that app developers need to support older OS versions and older APIs and testers need to test those.
  1. Power consumption and battery life: Innovation in the battery storage capacity field hasn’t been keeping up with the app consumption rate. We are running lots of apps during the day and several processes are running in the background without us even noticing. This all requires CPU cycles. Thus, batteries tend to dry. When testing mobile apps, we need to make sure that the power consumption is kept minimal and the app is developed keeping the best practices in mind.
  1. Usability: Mobile devices screen are comparatively small and there are always more data we would like to present than possible to fit to the screen. It’s challenging to keep the interaction clean and simple for the user, and at the same time display all the necessary information. Font size and readability are other challenging factors of usability. When testing mobile apps, it’s important to pay attention to the size of click areas and making sure that all texts are readable without lenses.

You May also Like: 5 Types of Testing to Make Your Mobile Apps User Friendly

  1. Internationalisation: Most of the apps are designed to be used on international markets. Testing for translation is only one piece of the whole internationalisation testing. Testers should also take into account regional traits like locale settings and time zones and target audience.

Changing time while app is running might cause some interesting artefacts. Also some designs that are working in the western world might not work in the east and vice-versa. Right-to-left languages have always kept developers puzzled.

8 Tips for Successful iPhone App Testing

There is a popular belief that iPhone app testing is a lot simpler than testing for android because you’ve got to test it only for Apple devices. Well, don’t be so sure. First of all, it should be noted that several parameters are a must test for every app, be it iOS or android. Consider the following scenarios:
End user experience- This ensures your app is user-friendly. Key areas tested includes usability, GUI, localization, reliability, scalability etc.
Hardware- The different phases under this testing focus on discovering hardware issues such as compatibility, interoperability, battery consumption, memory consumption etc.
Application adaptability- Locates application issues related to multitasking, portability, architecture, memory allocation, environmental interaction etc.
Network and communication- Tracks down issues from security vulnerabilities, synchronization etc.
mobile app
The above-mentioned factors are methodically tested for each and every application developed to ensure its success. Here are some useful tips for iPhone app testing that helps you to confidently release your apps.

Read Also: 6 Automation Tools for iOS App Testing

1. Checking Memory Availability
App crashing due to low memory availability is a commonly witnessed problem. When there is an app crash that is not reproducible on re-launching, you have every reason to believe that it may be due to unavailability of ample memory. So, in order to save yourself from getting stuck into avoidable bottlenecks, you should keep it a best practice to always check and report your memory status while testing.
There are several tools available for calculating free memory. If the crash is caused due to a memory related issue, the problem will vanish when there is plenty of available memory.
2. Testing under Low Memory Conditions has Additional Benefits
It is a clever idea that you test your app under low memory conditions. By this way you can reveal the potential threats that may come up to cause you problems in real world scenarios. Apple’s recommended way of testing your app’s behavior under low memory conditions is by running apps like Safari, iPod and Mail that is already programmed to run in the background.
3. Check the Crash Report Log
Every time an app freezes, a crash file is created in your iPhone. This data is valuable for iPhone app testing. It helps testers to diagnose the real issue as it contains information on app performance prior to crash. The crash log can be obtained by syncing your iPhone with iTunes.
4. Run Simultaneously with Background Apps
With exceptions for Apple’s featured apps such as Safari, Music and Mail, third party apps can’t function simultaneously in the iPhone environment. So outside apps should be tested for multi-functioning. It should be tested to handle interrupters such as reminders and push notifications. Also, activities like receiving calls and playing music in iTunes should not affect the behavior of the running application.
5. Make use of Screenshots
In the case of a GUI bug, there is no better way of documenting it than capturing the real issue with the help of iPhone’s built-in screen capture option. Following this way can help a developer in getting a clear picture of the actual problem, as the saying goes, a picture is worth a thousand words.

You May also Like: 8 Must-Know iOS Testing Tips

6. Boundary Value Analysis with Data Input
It could be actually surprising for you to hear that text inputs can discover bugs. Yes, it actually works! In boundary value analysis, a maximum number of text characters or error values are supplied into each text field. This would make application errors if there are any unseen bugs present.
7. Testing Connectivity Problems
The behavior of apps that need internet usage should be tested for issues due to connectivity problems such as slow connectivity, and internet unavailability. This connectivity issues can be artificially created by turning airplane mode on, using a low-speed internet connection etc.
app testing
8. Monitor App info from the Console Activity Log
To debug problems in real time, you can analyze the console output since the latest crash logs and warnings from your apps are saved in all your Apple devices. The console log can be retrieved by using the iPhone configuration utility.

What is Integration Testing? Example included

Integration testing is a part of software testing in which individual units are combined together and then tested as a group. It is usually done after unit testing. Integration testing is usually done to rectify the faults that occurred in interfaces and integrated units. Test drivers and test stubs can be used to assist in integration testing.

app testing
What is Integration Testing?
Integration testing is a software testing type to test the logically integrated software modules as a complete group. When software is developed it consists of various independent software modules that might be developed by different developers.
These modules might work well without any defect as an independent unit. But when they are integrated there are changes that bugs can arise while they interact with each other.
In short, their integration with one another may lead to new bugs that were otherwise not present in independent units. To detect such bugs integration testing is conducted.
The process focuses on the communication of data among different modules and is also known as ‘String Testing’, ‘I & T’ (Integration and Testing), or ‘Thread Testing’.
Examples of Integration Test Case
Integration test cases focus on interfaces & flow of data between the test modules. The focus here is integration links testing than testing module functionalities.
Let us take a website with ‘Login Page’, ‘Mailbox’ and ‘Delete emails’. Considering its testing the independent units here are integrated logically.
Let’s not focus on individual module testing rather will focus on the integration of each module with one and another.
 

Test Case ID Test Case Objective Test Case Description Expected Result
1 Validate Login and Mailbox module interface link Enter the required login credentials and click the Login button Control transferred to Mail Box
2 Validate Mailbox and Delete Mails Module interface link Select an email from the mailbox and click on delete Chosen email sent to Deleted/Trash folder

How to do Integration testing?
We have already read about different integration testing strategies, here is how to execute integration:

  1. Make a Tests Plan for your integration testing
  2. Prepare Test Scenarios, Cases, and Scripts.
  3. Execute the test Cases
  4. Prepare a report and tell the defects to the developers.
  5. Track and retest the defects.
  6. Repeat steps 3 and 4 till Integration testing is successful.

Brief Description of Integration Test Plans:
The integration test plan should include:

  • Scopes and Out of Scopes Items.
  • Roles and Responsibilities of the team.
  • Pre-requisites if any.
  • Testing environment.
  • Risk and Mitigation Plans.

Entry and Exit Criteria of Integration Testing
Entry and exit criteria are very important
Here are they
Entry Criteria:

  • Unit Tested Modules
  • High prioritized bugs fixed and closed
  • complete coding and integration of all modules successfully.
  • Documentation of integration tests Plan, test case, scenarios.
  • Test Environment

Exit Criteria:

  • Successful execution of integration Testing
  • Document of executed Test Cases
  • High prioritized bugs fixed and closed
  • Technical documents
  • Release note

Method of Integration Testing:

Black box testing, white box testing and gray box testing methods can be used for integration testing.

  • Black box testing is also known as behavioral testing. In this design, the internal structure and implementation of the item being tested are not known to the tester. Such tests can be functional or non-functional. Functional testing is the most used one.
  • White box testing is also known as transparent box testing, code-based testing, structural testing, open box testing, clear box testing or glass box testing. In this method, design, internal structure and implementation of the item being tested are known to the tester.
  • Gray box testing is a type of software testing which is a combination of black-box testing and white box testing.

Read Also: Popular Software Testing Misconceptions

Approaches in Integration Testing Services:

  1. Big Bang Approach

In this approach, all the units are combined together and tested at one go. It is usually done when the testing team receives the software as a bundle. Big Bang integration testing tests only the faults in interaction between the units.

It is usually done when the testing team receives the software as a bundle. Big Bang integration testing tests only the faults in interaction between the units.

Advantages:

  • More convenient for small systems

Disadvantages:

  • It is difficult for fault localization
  • Some interface link can be easily neglected
  • The testing team will get only less time for execution
  • As all modules are tested together, there will be no separate priority given for highly risky critical modules and peripheral modules

2. Incremental Approaches

Logically related two or more modules are joined together and tested.

An incremental approach can be done in two methods:

a. top-down

b. bottom-up

a. Top-Down Approach

In this approach, top-level units are tested first and then lower-level units are tested step by step. In order to stimulate lower-level units test stubs can be added. Test stubs may not be available during the initial phases.

Advantage:

  • Easier fault localization
  • The prototype can be obtained early
  • Design flaws of critical modules can be found and fixed

Disadvantage:

  • Need for several stubs
  • Lower level modules are tested badly

b. Bottom-up approach

Here bottom levels are tested first and then top levels are tested step by step. Here testers stimulate higher-level units which may not be available during the initial phases.

Advantage:

  • Easier fault localization
  • No time wasted for unnecessary testing of all modules

Disadvantage:

  • Higher probability for defect as they test critical modules at the very last moment
  • No possibility for an early prototype

Test-your-WebApps-for-better-stability
 

3. Sandwich or Hybrid Approach

This approach is an integration of bottom-up and top-down approaches. Hence the advantages of top-down and bottom-up approaches can be applied here also.

You May also Like: 6 Automation Tools for iOS App Testing

Procedures to be followed for integration testing:

a. Develop the integration test plan

b. Cases, scripts and test scenarios are to be designed

c. Test cases are executed and reporting the defects

d. Defects are tracked and re-tested

e. Repeat step 3 and step 4 after the successful completion of integration testing services

Best practices for integration testing services:

  1. Determine an acceptable integration test strategy and develop test cases and accordingly test data

  1. Analyze the application’s architecture design and identify the critical module.

  1. Interface design can be obtained from the architectural team and you can create test cases to verify all of the interfaces. Interface to external hardware, software application and interface to application must be tested thoroughly.

  1. After completing the test case, the next task is to test data

  1. While executing test cases, it is advisable not to select test data

Integration testing is one of the easiest types of software testing and is one of the crucial steps in the software development life cycle.