Thursday, August 29, 2013

10 things you should never tell a tester

1. Testing career is much easier
Oh ya! wait i know its easy right! I just check with same screen 50 times a day. Fun right :/

2. Can you test it soon!
I ain't a superman to test it without opening the application dude!

3. I couldn't regenerate it. Can you tell me how did you find it.?
Oh please! i have written the steps!!! for god sake please read it.

4. I hope you will find all the bugs
Yes Sir, can you make sure you don't inject any bugs ?

5. Testing is not a real job!
F$$k you

6. Are you sure this was not in previous build?
Can you please shut up and fix the defect!

7. Simulator shows the output!
Does an end user use simulators? dumb ass!

8. Nobody in the world would do that!
Hey Man! do I look like an alien to you ?

9. Why do you stress the application so much?
Because I don't want my manager to stress me!

10. I test better than you!
Good! you can test it. It would be a great honor if you test it on my behalf

P.S
I never answer like this in real life :P 

Wednesday, August 21, 2013

Audio testing

Audio plays an important role in any game or application. What fun to play a game without listening to SFX and Background Music. I really love to play any game which has good soothing music and awesome SFX. Normally while testing a game in a work environment where playing loud music and audio is restricted, a tester normal fails to identify the bugs related to Audio. So better put a request for a good headphone or an earphone and start testing audio.

1) Button Tap:
- If your game supports tap sounds then make sure you tap on each and every button to check with tap sound.

2) Audio shouldn't be heard on the following scenarios
- Put the device to sleep
- Hit the home button: This will take the user to device home screen.
- Hit home button twice for iOS devices

3) iTunes music-related test cases
- Play music through iTunes and then launch the game: Music should continue to play and should mute the game background music
Please Note: Music should stop playing when using certain video/music applications. Check with the requirements team if you support playing iTunes music while using the application.
- Play music after launching the game by multitasking: Music should play and should mute the game background music
Note: It's better to have an iTunes music button placed in your game so that user can access iTunes through the game itself

4) Use side keys to raise and decrease volume:
- Side hard keys should respect the music and SFX of the game or application

5) Mute using the hard key (iOS): 
Audio shouldn't be played.

6)SFX and Background:
- Check if the SFX sounds are heard on turning it off.
- Check if the Background sound is heard on turning it off.
- Check by only turning one i.e SFX or Background music on or off.
- Hit the Home button and check if the settings are still saved. 

Thursday, August 15, 2013

No network connection testing

I have seen many testers not concentrating on negative test cases. I insist every QA to test for negative test cases first and then start with positive test cases. No network connection test cases are one of them. So things which you need to keep in mind while testing for No network connections are below.

Disconnect the Internet and launch the application:
On tapping any button ex: Sign-in button, No internet connection alert has to be displayed.
Please Note: Its not a good practice to display the alert as soon you launch the application. Display the alert only when you tap on any button. The only exception is when you are downloading any assets from the server.

Display timeout alert:
If your internet connection is very slow then you may observe in some application that activity indicator would remain in the screen throughout and the only way you can access the application is by relaunching the application through force quit. So it's better to display a timeout alert when downloading takes a lot of time. A good practice is to keep the timeout as 30 secs or allow the user to return back to the previous screen when the activity indicator is on the screen.

Check if the content is getting downloaded on connecting back to the internet:
Consider this example, you are on a screen and your WiFi gets turned off by itself. Now you receive a No internet connection dialog box as downloading of content was stopped. Now connect back to WiFi and check if contents are displayed on tapping the tab again or if the screen is reloaded.

Check if Game Center/Flurry data is updated after connecting back to the internet:
Developers have to make sure that they have to store data of Game center/Flurry when the user is playing in offline mode. When the user connects back to the Internet and checks Game Center application, data of achievement and Leaderboard should get updated. Similarly with Flurry events.
Check my other post related to Game Center in iOS
http://qualitytesting1.blogspot.in/2013/08/game-center-in-ios.html

Check for the content that requires server support:
Any content which saves data in Server shouldn't be allowed to edit while using the application in offline mode. Ex: Profile of the user

Thursday, August 8, 2013

10 things you should never tell a developer

1. What the f$$k do you code!! I am getting a lot of crashes.

2. When the hell are you giving me the build?.

3. You can never meet the deadline bro.

4. That other developer is much better than you.

5. I want this to be fixed now itself!

6. Get this button a few pixels below.

7. Change the background color a little bit lighter.

8. Can we make it real-time!

9. Let me complain about this to the manager.

10. I can code better than you

Thursday, August 1, 2013

Should developers Unit test his application before giving the build?

Every time you ask this question to a developer "Do you unit test?" The answer would be straight forward "NO! I don't have time for unit testing! why are you hired for" DUH!

We will start with an example.
Developer under the pressure of deadline does not perform Unit testing and would pass the build to QA in the morning. QA starts his testing somewhere around the evening because the QA was busy with some other project work(multitasking you see :D). Now for bad luck (both QA and developer), application crashes on launch. The developer has already logged out for the day(as usual, very early), so there is no way QA could contact him. So he logs a defect and raises it as a critical bug and leaves for the day.

If the developer had installed the build to a device and launched the application he could have saved some trouble and time as he would have fixed the launch crash, thereby not delaying the test report.

What do we take from this example?
1. Developer should have tested the build
2. QA  should have installed the build in the morning just to check if it works.

In this case, the developer takes 90 percent of blame as he should have checked the build before passing it to the QA and rest 10 percent to QA who should have taken responsibility by installing it as soon as the build is given.

So coming to the point, every company should stress developers to do unit testing no matter how difficult the situation would be. I have heard many developers mention that they don't have time to develop and where on earth would they test the application!. Even pass rougher remark like "Its a tester job not mine" But developers need to have a change in this mentality. As a QA  I don't expect developers to test every corner cases but a simple unit test would do. The attitude of a developer should be like "YES! I will do unit testing which would cut off some bugs in defect tracker thereby increasing my credibility" If every developer thinks in this way there wouldn't be any straight forward crashes. I know this will reduce the bug count and work of QA, but at least we can just concentrate on corner cases.

To conclude companies should always allot some person hour to unit testing while estimating effort. Also, developers should always make sure that he/she unit tests the application. So does your developer unit test?