Mobile App Testing – Best Practices – Part II

Hello, everyone!
As we may know, testing Mobile Apps is as hard as testing a Game for Microsoft, Nintendo or Sony. It follows the same points and rules along the elements necesarry to make a great App and/or Game.
So, to continue our learning about this, please enjoy below the second part of the post Mobile App Testing.
Good Reading! Miss part one? You can check it here.

MOBILE GAME TESTING – BEST PRACTICES – Part II

For mobile games specifically, the QA and testing involved is slightly different and also more extensive as you need to test a number of additional elements here such as: the UI & functionality, graphics performance, user experience, multiplayer experience (if applicable), cross platform performance, battery consumption and lastly memory usage/leakage.

UI & FUNCTIONALITY BASED TESTING

For mobile games you need to look at both the UI & functionality a lot more closely, since for mobile games, these 2 elements ARE its key selling points i.e. visual appeal and gameplay. Thus the aspects of the game which should be examined in detail during testing include:

 The Title Screen – is it well designed
* Menu functions – are they working? easy to navigate?
* Game flow & gameplay rules – game flow should be progressive and the gameplay should not be too difficult or too simple
Character Model & World / levels / scene design – are they well designed & polished
* Opponents in the game – not too easy nor too difficult
* Collectibles – are there enough collectibles in the game?Is there a good variety of collectibles?
* Scoring mechanism – should be accurate and simple
* Social Network Interaction – should be perfectly functional and easy to use, so users can share their experience and/or scores with their friends.

USER EXPERIENCE AND GRAPHICS BASED TESTING

Equally important for a mobile game are its User Experience and Graphics, since these 2 elements also hold the key to its commercial success. To test these two elements the following factors must be examined in detail.

* The game’s Graphics & UI – does the game display properly on all target devices & OS (in case of cross platform games). Do the UI layout & its elements (toolbars, buttons, icons, etc.) display correctly on all devices

* Usability of Buttons / Navigational Flow – are all the buttons working correctly. Is the navigation logical?

* Grammatical Text & Fonts – Is the text used within the game grammatically correct throughout? Is the font used legible?

* Special Effects & Animations – Do all animations run smoothly? You need to test for clipping to ensure that two or more polygons do not overlap and cancel each other out and test that all required overlaps (semi-transparent object placed over solid color objects/backgrounds) are appropriate in size, placement and purpose.

* Sound Effects – Do all sound effects play correctly, without distortion & at the right moment? You should to listen closely to all the sound effects to ensure that their start point and length is appropriate.

* Collision between Objects – do all collisions in the game take place correctly? There should be no incorrect or inappropriate collisions, so the gameplay looks realistic. For this you will need to move the character through all objects to observe the consequences (collisions, event triggers or object triggers).

* Screen Orientation – If screen orientation is supported, does the game display correctly in both portrait and landscape modes?

* Screen Resolution – if multiple screen resolutions are supported, the game should be tested on all the supported resolutions to ensure that the graphics do not get altered.

ONLINE MULTIPLAYER GAMES TESTING

If the game supports online multiplayer gameplay, you also need to test this capability, to ensure that: the game allows internet connectivity on both devices, the game state is synchronized on both devices, both players have a similar distribution of game resources and there is no lag in game response time for both players. You should also check to see if the game continues to run if a player exits from the server (if applicable). All of these elements are vital for multiplayer gameplay and any issues in any of these areas will severely impact the game’s experience, resulting in negative feedback and uninstalls by users.

CROSS PLATFORM TESTING

mobile app testing best practicesIf your mobile app or game is cross platform you should test it on all its supported platforms and on as many different physical devices as possible (from the list of targeted devices). However given the investment involved in physical hardware it may not be possible to test the game on all supported devices physically. So you can use a workaround solution like DeviceAnywhere, Testdroid and Perfecto Mobile, which are cloud based services that provide the ability to remotely control real devices in order to test mobile apps &games, without incurring any hardware costs.

MEMORY LEAKAGE TESTING

Since all devices and operating systems have varying memory limits ( for e.g.the iPhone 3G has 128 MB, the Samsung GalaxyS4 has 8 GB, etc.), thus it is vital that you run a memory leakage test on the app or game (which tests for memory allocation and de-allocation on different instances in the game), as incorrect management of memory allocations in the game will severely impact the its performance, by reducing the amount of system memory available on the device. In the worst case, it can result in the app/game crashing or causing the device to slow down.

BATTERY CONSUMPTION TESTING

Certain apps/games also drain the mobile device of an excessive amount of battery. This can be because the app continues to run even when not in active use or because it starts automatically when the device is powered on. This sort of battery drain is negatively viewed by users and results in users’ uninstalling the app and giving poor ratings. So it’s essential you conduct a battery drain test on the app/game as well, to ensure that it works optimally and does not drain the user’s device battery.

FINAL WORDS

Given the stiff competition in the mobile apps market and variety of apps & games available for users to download, it is vital that you thoroughly test each and every aspect of the app / game before releasing it into the market, to ensure that the product meets the quality standard demanded by users. For if the app / game is released in the market with potential bugs, the users who download it will simply uninstall it when they find the app is not up to their standard. They may also leave negative feedback for the app on the app store, which will drive other potential downloaders away.

[…]

Well, that’s it. Hope you could learn something new as I did. Many thanks for Muhammad Kashif – source – for the text.

Until next time!
Advertisements

Mobile App Testing – Best Practices – Part I

Hi!

As we were talking about the Mobile Market, I felt that it was important to post another text about it.

This work done by Muhammad Kashif – source here – It is a well-developed information that can guide you through the Mobile App Testing. It talks about the Practices, Functionalities, Graphics, Multiplayer tests and more.

I do recommend and hope you can learn a little more about it as I did while reading. J

MOBILE APP TESTING – BEST PRACTICES

The trend of application development for mobile devices has been increasing at a rapid pace. According to the International Data Corporation (IDC) 182.7 billion mobile apps will be downloaded by 2015, a 1600% rise from the 10.7 billion apps downloaded in 2010.

As such, there is huge demand for high quality mobile apps and games. The operative word here is quality, since quality is the key to user retention. Smartphone & tablet users download hundreds of mobile apps/games every month, but they only keep the ones that offer them a high quality user experience. That is why proper mobile app testing is vital in the development process.

Although there are a variety of factors that must be tested for during the mobile app testing phase, the 3 basic elements that absolutely must be tested for in any mobile app or game include:

 * Ensuring that the app works as it should
 * That it offers rapid response
 * Has no usability issues or bugs which could ruin the user’s experience

As users have no lack of variety when it comes to mobile apps, and if your app does not meet their expectations in terms of quality and usability, they will uninstall it and download one that does. So it’s essential to thoroughly test the developed app or game prior to releasing it into the market.

The following discussion highlights some best practices to use when conducting Quality Assurance and Testing of mobile applications in general and when testing mobile games.

MOBILE APP TESTING BEST PRACTICES

When testing any mobile app, you should always start by assessing the User Interface (UI), as this is the key element that the user will interact with and critical to the overall user experience. But before you start testing the app’s UI, you should first look at some similar apps to get a sense of the key elements you should be looking out for, to use as the benchmarks to judge the app’s UI against, when testing.

These key elements typically include the overall theme of the app – as a rule of thumb it should be similar to the OS’s native apps’ theme, the design of the app’s icons, the progress indicator, the menus and app’s overall responsiveness. If the app is supported on different devices having different screen resolutions, it is best to start the app’s testing with the device having the smallest screen size and then progress to the larger screen sizes, in order to spot any UI layout problems.

Regression testing should also be done after any UI layout changes to ensure that the app looks appealing on all supported screen sizes (both small and large). In case the app supports changes in screen orientation, then UI testing should be done in both portrait and landscape modes, by rotating all the pages of the app to ensure that the display remains consistent and the app does not crash on changing screen orientation.

When testing cross platform apps and/or apps supporting multiple devices and screen resolutions, it is a good practice to test the app on all the targeted OS’ and devices. If however you don’t have access to the different devices needed for testing, you can use an emulator to test the app. Keep in mind though that the overall performance of the app on an emulator might not be the same as its performance on the actual device, so we recommend using a combination of device and emulator based testing in such cases.

The type of generic mobile app testing that you should conduct on all target devices includes:

* Application installation / uninstallation
* Application launching
* Build upgrading
* Receiving text messages, phone calls & social media notifications with the app running in foreground / background

All of the above are practical scenarios from the user’s point of view and must be considered during testing in order to access their impact on the app’s functionality and overall responsiveness during these situations. Depending on the nature of the app developed, you may need to perform additional tests on the app, to ensure that all functionality/features work perfectly. These tests can include:

* Location Based Testing – for apps that offer/use location based services
* Network Connection Switching Impacts (WIFI to EDGE, EDGE to WIFI, WIFI to WIFI) – for apps that utilize a network connection
* Retina / Non-Retina Image Testing – for apps that support both retina & non retina displays
* Memory Leakage Testing – to ensure that the app does not suffer from any programming issues that impact its responsiveness
* Battery Consumption Testing – to ensure that the app is not draining too much of the device’s power
* Security Testing (for enterprise mobile applications) – to ensure that data communication is going through SSL/TLS and data encryption is being done at the application level, etc.

Automated testing can also be conducted on the app if you want to save time, via test automation frameworks such as Robotium. These tools allow you to write automated test cases for function, system and acceptance test scenarios spanning multiple Android activities, and test them on various device emulators.

Translation and Localisation Work – Alien Shooter Vengeance

Good Evening, everyone!

UPDATE: Pretty amazing what you can do after play the game one more time missing the old days. I found out a few more mistakes and correct them at the game – not in the pictures. So you may not look for Portuguese mistakes in it… please… 🙂

I should have posted this a long time ago. For those who search over the internet, you may find the translated patches for this game, but I wanted to do the work myself and make sure that everything is on it place, audio and texts, credits, weapons, character, etc. etc. etc.

For the ones who doesn’t know, Alien Shooter: Vengeance – also known as Alien Shooter 2 – is a game developed by Sigma Team (which I have e-mail it to tell them about my work and translation, but had no replies….). It is a surviving terror/action game that mix aliens, weapons, shooting, arcade game and a lot of blood and things blowing.

You are a mercenary that M.A.G.M.A. Energy Corp. sends to a top secret object. A lot of weird and dangerous experiences were held where you are and now, after all that, everything is out of control. You must find you way in, complete a series of tasks and destroy anything and anyone in your path. Pretty nice if you want a game where you can shoot more and think less. More about the game, you can google it. I am here to talk about my work. J

It took my about 2 weeks, as far as I can remember, to complete the game between editing all the menus, texts, files, saves, objects, levels, etc. and for testing all the translations, box sizes, audio and writing. I worked in it every day after work – about 1 hours – and every day after my university, 1 to 2 hours to finish it. Most of the problems that I had was checking the audio and make sure that everything was correct – as the English speech was ok with the Portuguese text. I couldn’t translate the audio due to the lack of “technology”. (I did it at home, come on…)

Below you can check a few pictures of it.

I did most of the game translation. However it is kind of hard to translate things that are “normal” to brazilians and others that we are used to in English.

Even in English, most of the speeches were different from the wroten text. On the translation I did care about that because if you speak a good English, you may get confuse about what is being said and what you are reading.

Another thing that you may have to care is about the slangs and jokes. Those may have a lot of sense in English, but when translating you have to check which is your aim public and culture. Not all the translation has to be “perfect and asymmetric”.

Messange log and all the other texts were translated understading the way of thinking of each character. An alien, for example, may not speak as the same fluent way as a human…. in some cases….

Because of the space, you sometimes have to change one word to another completaly different, keeping the same meaning to fit it into the designed space.
Another thing is that a lot of English works don’t have thinks like Ç or ^ or ~. So you may have to check with the programmers how you are going to solve that out…
And most important, we have to credit it for our work. 🙂

Thank you for reading my post!
IMPORTANT: I would like to underline that I am NOT taking any profit with this translation and I did NOT send to anyone. This is just to show my work as a translator/localisator and this version of the game is not available for downloading. You may buy the original one and download a patch from the internet to translate it, which is not hard to find.
All the game, info, programming, design, characters, and more (except the translation) are property of SIGMA TEAM and I did not create the game or anything else.
Drive safe!

Game Testing on Mobile Device

Hello, everyone!
 
As reading a few things on the internet, I could perceive that the mobile devices are taking over people and grabbing their attention more and more. Games in those mobiles are getting also better day after day and it is possible to have great games in your cell phone with great graphics, playability, stories and lots of fun and best of all, most of them are free which is another decoy is for the players.
 
Gamesradar.com, selected a few games on 2013 being the best free mobile games as you can check below and here if you want to know more about them.
 
10. Guardian Cross (Free) – Platform: IOS, Android
9. Colosseum Heroes (Free) – Platform: IOS, Android
8. Barrr (Free) – Platform: IOS, Android
7. Nun Attack: Run & Gun (Free) – Platform: IOS, Android
6. Castle of Shadows (Free) – Platform: Android
5. Temple Run 2 (Free) – Platform: IOS, Android
4. Sonic Dash (Free) –Platform: IOS, Android
3. Punch Quest (Free) – Platform: IOS, Android
2. Badland (Free) – Platform: IOS, Android
1. Fast & Furious 6 (Free) – Platform: IOS, Android
And those are just a few of them. We have tons of games for mobile and the industry is growing every day. We also have Plants Vs Zombies, Angry Birds and others.
 
But, to get this far with these games, they were also tested and we can’t deny that it is a pretty good market to get into and specialize. That’s way I am posting a few information about it and hope you enjoy all the information.
 
Good Reading!
 
The full post can be found here and thank you Mali the Nerd for the info and adaptation of Nandagopalsite. Thank you for sharing the info.
 
As you might have noticed, the mobile market is on a surge. There is virtually an “app” for everything in your life from budget planning to fitness! There are also thousands of games you can play on your mobile device. As a software tester, this mobile mania is giving you endless opportunities and I would like to share some tips for game testing from my limited experience.
 
1.       Know your device
 
So, you have the super smart phone – the iPhone 4S, the Galaxy S2, the Google Nexus S, the Nokia Lumia… Good! But do you really know what your phone capabilities are?
 
What platform is it running (iOS, Android, Symbian, Windows Mobile)?
 
Do you know its strengths and limitations (Processor speed, RAM, Storage Memory, Maximum application size, etc.)?
 
Do you know what type of connection can you use (Edge, 3G, CDMA, Wi-Fi, etc.)?
 
If you do not know any of the above, then I would suggest getting as much information about your device as you can. This is not only applicable to game testing, but also to any type of mobile testing. But the device’s processor speed, RAM etc. are really important in playing your favorite games seamlessly. What’s the point of having that wonderful game if it is subjecting your device to lots of heating due to the increased use of processor power? You are not willing to let your 30K worth smartphone burn for a game, right? 🙂
 
2.       UI – User Interface
 
With the ascend of tablet computers to the mobile world, more and more developers are creating their games and apps compatible for many devices with a single installation file. For e.g. you could download an app from the Apple app store which is compatible with both your iPhone and iPad. There lies the catch for us testers. There might be screens where the rendering is not properly done in an iPhone screen because the app is showing the page as in an iPad!
 
As you might have noticed, the games usually have really colorful UI and it is one of the primary things that make a game appealing. So you need to look at the colors used, fonts, icons, button size etc.
 
and finally;
 
3.       Fail intentionally!
 
Sounds interesting, right? You have tried so hard and succeeded in beating the computer opponent, and this so called tester is telling you to fail the game levels intentionally?
 
This could be your most important tip for testing games – learn to fail. Because, when you are failing intentionally, you might be subjecting the game to its most critical test – whether it can behave in the right way when you fail. You are getting competent and matching the computer opponent with all the concentration in this world, it is easy to miss out on what the computer opponent might do in case you fail. I have experienced instances where the computer opponent or your sidekick looked really stupid after I’ve purposefully failed my mission 🙂
 

 

Hope my little tips will help you in testing those wonderful games and make your testing much more fun. Have a tip which can be useful for the testing community? Share it!

 

Game Testing Techniques and "Tips-N-Hints"

Hi!
Due to the subject of this text and who I think it’s important for the game market and people who wants to get into it, I though it would be better to build it own topic.
Once again, the source of the text you can found in here and, if you know who is THE OWNER of this text, please, let me know so I can give the right credits.
Here are the specific details and the testing techniques:
– Must examine the entire screen and not just a small part of it.
– Familiar with the game rules and test the gameplay against these rules.
– Test for clipping (two or more polygons or polygon objects overlapping each other or canceling each other out).
– Examine the overlap (where a semi-transparent object shown on top of another solid colour object and/or the background), and check if the overlap is appropriate in terms of size, placement, the purpose and the information that is provided).
– Test for incorrect and inappropriate collision (the condition when two objects should becolliding). Imagine when two cars collide, they should get bumped by each other with about the same effect (e.g. damage). In terms of physics, when a collision involves two objects with the same mass, they should generate the same amount of momentum in the opposite direction. In contrast, when a plane hits the ground, should only the plane show the effect of collision because the mass of a plane is trivial compared to the mass of the earth.
– Move the character through all the available objects and all the levels and closely examine the effect (it could be collision, an event trigger, or an object trigger). (Author’s Note: Something that was kind of missing in the game SKYRIM – Elder Scrolls because on many parts of the game, you can get stuck in the cenario out of nothing….)
– Test for grayed out or grey out (when an option or icon cannot be selected)
– Test loading/saving from a game save device (e.g. hard drive or a memory card) and ensure the correct messages are displayed on the screen.
– Ensure a “game load” or “data load” message and an appropriate “loading” indication (e.g. loading meter) displayed on the Loading Screen.
– Ensure the loading time is acceptable (no one likes to wait for more than 20 seconds).
– Look for micro-pause where slight pauses occur in the game but do not actually cause a full freeze or crash. When it happens, it will temporarily impede the gameplay.
– Test for the multi-player mode (the game runs on one machine, not on-line gaming) where two or more players engage in one game.
– Test the game for memory leak or memory overload by leaving the game on/running for afew days.
– Test end of bound (also known as end of the world or edge of the world). The game should not allow the character to move “out of bound”, and/or the game becomes erratic (e.g. game crash/freeze, the texture becomes deteriorated, the character gets trapped in certain area of the map). (Author’s Note: Sorry, Skyrim situation should be placed here…)
* Test for platform compatibility. Platform testing requires some extra effort for the PC game and on-line gaming:
– For a PC game, test for all the supported operating systems like Microsoft Windows 95/97/98/2000 and NT (this includes Install, Uninstall, and actual gameplay). Also, test for different sound/graphic cards and peripherals that are available in the market (discuss with your Technical Director for the make/model of the peripherals).
– Test the networking for game play over modem(s) at different speed, and Internet gaming (The depth and coverage for Network Testing will expand if the game itself relies on some Sever applications for the actual game play; e.g. multi-player mode).
– If the game is to be published in European countries, test for PAL conversion (currently the game we produce is mostly targeted for Northern America, and we use NTSC). (Author’s Note: Also important if you have an American video game and went to Europe to buy games. It simply won’t work, as in Brazil we use NTSC conversion.)
– Test for localization (foreign language requirements) if required. This is a list of common testing techniques used by a Game Tester. This is not meant to be acomplete list, an experienced Game Tester will tell you that you should use your mind – this is where a little creativity, a little imagination, and a little bit of “common sense” become veryuseful.
SPECIAL CONSIDERATIONS FOR GAME TESTING
Before I let you go, I must warn you about Crack bugs and Placeholder, they are often mistakenas real bugs:
– Crack bugs (i.e. a bug which in fact is NOT a bug, but someone’s crazyimagination).
– Placeholder (i.e. something “dummy-up” on the screen, it is used to fill a spotuntil the correct video, artwork, sound or object is implemented and incorporated intothe game).
Well, hope you guys like it and please, if you know the Original Author of this text, let me know so I can give the right CREDITS to him/her/it.

Full Cycle Testing

Hi,
Here I am with one more topic that I found here.
Please, let me know if you know the Author of this text so I can give him/her/them the RIGHT CREDITS for the publishing.
Enjoy the reading!
FULL CYCLE TESTING
Game development goes through a cycle of stages. The game software is defined, evaluated, designed, built, tested, fixed, Alpha, Beta and then Final. The game development cycle involvesmany tasks by multiple functional teams, and in multiple stages. Most of the stages are oftendescribed sequentially but the underlying tasks are often proceeding in parallel, especially duringgame production. Testing and fixing can happen at any stages in the project cycle. However,the cost of fixing an error increases exponentially as project progresses.
The objective of “Full Cycle Testing” is to identify and fix the error (aka defect or bug) as early as possible so a quality product will be delivered at the end. In a simple terminology, thetechniques used for “Full Cycle Testing” are 1) validation for accuracy and correctness, and 2)verification for completeness.
TESTING FOR DIFFERENT PROJECT STAGES
* Requirement stage – game idea, storyboard, features and requirement document
* Game Design stage – conceptual design of the new features
* Technical Design stage – mainly, the Technical Design document and the FeatureSpecification. Also, the game architecture, session manager, front-end, AI, director,rendering, animation, frame overlay and so on. This encompasses most of the componentsassigned to the team and support teams
* Development stage – coding and implementation/integration of various pipelines and work  by the teams that are integrated to make up the game. “Clear box” testing will encompassmodule/component testing, testing of coverage and flow, data integrity, algorithm-specifictesting (e.g. debug code is in the game code), path testing, and various levels of functionalregression testing. This is more an incremental testing.
* Review stage –  Focus Group, and a “big bang” testing both Clear Box and Black BoxTesting, in a structured manner.
* Regression Testing stage – it will be the game testing (Alpha, Beta, and Final).
REVIEW CRITERIA AND CHECKLIST
Here are the testing criteria for the requirement phase and the design phase: 
Requirement Document:
Are these the right requirements for the new game?
Are they complete?Are they achievable?
Are they realistic?Are they reasonable?
Are they compatible to other competitor game?
Are they testable?
Are there quantifiable and measurable targets?
Are they in line with our direction of the company (or company future)?
Game and Technical Design Document:Is the design good?
Is the design complete?
Is the design doable?
Is the design equipped with the necessary error handling?
Does the design provide any debugging facility?
Is the design in line with our game architecture?Has the design received review and approval?
Hope the text can help you in your work and, if you know the author of the text, please let me know so I can give the RIGHT CREDITS to him/her/them.
Source of the text can be found here
Have a great night and thanks for reading my blog!

Testing Considerations for Software Testing

Hello.
Here I am with something more that I hope will help you inside the Game Testing Field.
Source of the document – check here
Also, if you know the Author of the text, please, let me know so I can give the RIGHT CREDITS to him/her/Them.
TESTING CONSIDERATIONS FOR SOFTWARE TESTING

It will be way too much for a Software Tester to handle if someone has to do 100% of above. Unlike Game Testing, I believe some of these tasks are discretionary. You must learn anddecide how much testing is enough. As a rule of thumb, the Software Tester should take a “best-effort based” approach and “time-box” his or her work and involvement for a game project.Once you come up with a test design and some high-level test plan, discuss with the gameTechnical Director to confirm the scope and priority.
We all know good analysis of a bug simplifies the debugging process. However, there is a balance to strike between the amount of investigation and analysis done by a Software Tester and the amount done by a Developer. Here are some factors to consider:
* Isolate the problem so it can be assigned to a single person in the bug report.
* Describe the problem at the appropriate level of details so the developer can work on it without wasting too much time to re-investigate and explore the problem.
* Are we in the “crunch” time – is the developer on the critical path?
* Are you a more skilled debugger than the developer who is assigned for this bug? How we can get more productivity and better use of time?
The Game Tester requires a fully functional Test Environment for testing. This test environment is comparable to a debugging environment that is used by the game developer or the Software Tester. Also, the test environment must support testing the graphic components of the game(e.g. providing some of the artwork run-time information; not just showing the artwork itself).
The Software Tester is expected to provide support and help out the Game Tester in using a new Test Environment platform.
So, please, let me know if you know the Author of this text, so I can give THE RIGHT CREDITS to him/her/them.
Have a good night and thanks for reading my blog!