Thursday, May 8, 2014

Windows application and design.

"Why are you buying a windows phone! are u crazy! There are not much applications dude!!"
This would be a response from a friend whom you inform about you buying a windows phone.

But you would be surprised to know that Nokia windows phone market sales are increasing enormously with more and more people buying windows phone. Normally when u buy a new phone 1st thing you would confirm with many techies is about free useful applications in store. If u ask me now (I ain't a techie :P) I would suggest you to buy an Android phone because there are lot of free applications and games to download. But if you want a phone for which has excellent look and performance i would suggest Windows phone. Transition are so smooth that you would love your phone a lot. The only con of buying windows phone in present date is lack of application you would find when compared with other two platforms

Even though it's a con I recently found out how windows phone marketing team is trying to increase their market by linking Bollywood industry with their apps exclusively released in windows platform first. Take for example Dhoom3 and Krissh3. Both the games were a massive hit on Windows platform. In future I would not be surprised to see people developing apps for windows platform first.

Coming to designing part, when compared to Android and iOS layouts, windows want the application design simple and effective. This actually helps in reducing the effort for windows testing. So here are the list of things to keep in mind while designing windows application.


1. You need to make sure proper color combinations are used.
2. Alignment needs to be very accurate enough i.e there should not be any alignment issues.
3. Should support all resolutions of windows phones.
4. Style of the selected state of button should be kept consistent
5. Content in the application should appear properly i.e there should not be any text clipping.
6. Pin to Start feature should be implemented for all the sizes in tile.
7. All the texts are localized if other languages than English are supported.
8. Provide a refresh button in app bar to refresh the content of the screen.
9. Make use of Panoramic view or Pivot where ever suitable.
10. Use more of Horizontal scrolling to display the next content if there are couple of content in the list.


Additionally make sure to

1. Display a No network alert in screen or an alert when network gets disconnected.
2. Check for memory leaks in application ( Ask for debug build from developer )
3. Check if you can scroll to bottom of the screen without content being clipped.
4. Check if image quality is good i.e image should not be pixelated.
5. Check with analysis tool in Visual studio to check the response time, battery consumption and performance of the application

Thursday, April 3, 2014

Things required to be a good defect reporter.

Do you find yourself in a situation where developers ask you each and every time to reproduce the bug which was reported?? Are they not understanding the defect?

Being in a quality testing department, a quality tester should be good in communication and writing skills. Development team should never come back to a tester asking him to reproduce the bug (Even once). If this is achieved by you in every defect then you are a 100 percent good defect reporter.

A good bug reporter should always keep these things in mind while logging defect.

1) Defect Summary: Defect summary should be kept short and sweet. Just by looking at the summary the developer should understand what the bug is all about. I frequently see testers being very vague in providing proper defect summary. If the defect cannot be explained in Defect summary then use following sentence : "Application crashes if following sequence is performed in so and so screen". and explain the defect by providing proper steps in description.

2) Severity: Severity plays an important role while logging the defect. Developers would plan fixing of the defects depending on the severity. As a tester we need to always be a good judge in marking the severity. Many companies have following severity in bug tracker depending on the following criteria

- Critical: If the system crashes or certain functionality is not working or there is loss in data.
- High: If feature doesn't work as per the business requirements or there is no possible way to proceed to next step of testing.
- Medium:Highly visible usability and UI issues and if there is a possible workaround.
- Low: Cosmetic flaws

So make sure the defect is logged with correct severity.

3) Build information: Make sure build number or release number is entered properly to further reduce the confusion. 

4) Device Information / OS information : Make sure proper device model and OS is mentioned. If the same defect exists in other devices or OS then mention those devices too.

5) Assign defect: It is better to know who is handling what module as project starts so that assigning the defect becomes easier. If you don't know who is handling the module assign the defect to project owner so that the PO can assign the defect to concern person.

6) Steps: Make sure the steps are mentioned properly, right from the start till end. Each and every step is very important to be written, be it a simple tap or some unusual sequence. If there are any screenshots attached, make sure you mention the screenshot name in steps itself. Have expected and actually result properly mentioned. If any additional info is required, mention those points too.

7) Screenshot: Always make a habit of attaching a screenshot to the defect as it gives more clarity about the defect. Using an annotation, mark the area in the screenshot where glitch or UI issue is found. If there are multiple screenshots then make sure that proper name is given to each screenshot. Its better to have a build number along with the screenshot so that if there are similar bugs found in next build then the screenshot could be named with the present build number to reduce confusion.

Let me know if I have missed anything. Cheers. 

Wednesday, April 2, 2014

How do you install application to your iOS device using Xcode organizer ?

Applications can be installed to the iOS device by using Xcode. You can even install applications which are downloaded from iTunes too. First thing you need to do is download Xcode 4.5.2 for your Mac system. 

Steps to install

1) Open Xcode application in Mac system through Dock

2) Click on the Windows list in Xcode system bar

3) Select Organizer ( Short cut: Cmd Shift 2)

4) Organizer window would open

5) Click on Provisioning Profiles in Library section 

6) Simply drag the provision profile provided by the developer to the library window to add the provision profile or click on import to get the required provision profile.

7) Now Click on the device which is connected ( Green Dot ) in Devices section 

8) Click on Application

9) Drag and drop the application from Finder to window or you can tap on Add to get the required file from finder.

10) Progress indicator would appear indicating about application being installed.

11) Check in device to confirm if application is being installed.

Note: 

- If valid provision profile is not installed, a alert message would be displayed at end during installation

Adios

Thursday, March 6, 2014

Test Cases for Sign in and Sign up.

1. Username
a. Requirements Check
- Check with requirements if special character could be used for username else Special character keys in textfield should be disabled i.e. if user taps on any special character key in keyboard no operation should be performed (dead key). If special character keys are not disabled then "Special characters are not allowed" alert message has to be displayed when used as username.
- Check with requirement for minimum number of characters allowed for username. If user enters less than the minimum number of character then proper alert message has to be displayed.
- Check if username is case sensitive or case insensitive. If its case sensitive then if 1 person has a username 'Christ' then if another person signs up using 'cHrist', alert message has to be displayed.
- Check with requirements if 'space' could be used for username. 

b. Test cases 
- Use username which already exists.
- Don't enter any character in username field.
- Use other language character such as Arabic or Chinese.
- Use hidden special characters. 
Ex : If u tap and hold character L in keyboard you would get a special character. If special characters are disabled as per requirements then developers should make sure to disable hidden special characters also. Try experimenting with different hidden keys :)
- Test for Case sensitive
- Use less than minimum number of character.
- Use more than maximum number of characters.
- Use space key in-between letters
- Copy paste a special character from Note or Safari.
- Finally a positive test case use correct username :)

2. Password 
a. Requirements Check.
- Check with the requirements for minimum character and maximum character which could be used for password field. Mostly it would be 6 for min and 32 for maximum. 
- Password field should be shown in Asterisk (****) as you type.  

b. Test Cases
- Use less than minimum number of character.
- Use more than maximum number of characters.
- Copy text to password field (Shouldn't work) 
- Use special characters, numbers and letters.

3. Email Address
a. Requirements 
- Check with minimum and maximum number of characters which could be used for email address.
- Only letters numbers period and underscore should be allowed for Sign up. Its better for developers to disable rest all keys in keyboard.
- Email Address should always start with letter.

b. Test Cases
- Use special character like @! as email address.
- Use wrong email address.
- Use valid Email Address

4. Others 
- Forgot password feature should be used. If customer has not asked for it, insist customer to have this feature.
- Clear button should be present so as the user could clear the textfield by tapping clear button.
- It better to disable Copy and Paste option in textfield.
- Its better to have remember me check box so that it would remember the email address.
- Sign in / Sign up button should be enabled only if all textfield are filed. If requirements is such that all button should be enabled then if user taps on Sign in / Sign up button proper alert message has to be displayed.
- Appropriate alert message has to be  displayed if any error is found. Each error should have a separate alert message. 

Thursday, February 27, 2014

5 reasons why a developer cannot test his own application better than a tester!

1. Attachment with source code
- As everyone know developers are emotionally attached to their code which makes them not to test like a tester. "A developer would never degrade his own baby" :P Its just like how we tester are emotionally attached to a bug. Don't we get angry when a developer counters us telling that the bug reported is never a bug? :D

2. Concentrates only on positive cases 
- Most developers would normally think only about positive and straight forward scenarios whereas testers mentality would be always in breaking the code and concentrating more on negative test cases.

3. Lack of End user experience
- Testers would normally check many applications & game and would exactly know what is required, as they would have already experienced checking similar kind of application whereas most developers wouldn't ( If a developer is reading this he would surely crib about not having time to check other applications Gotcha! )

4. Not much exposure to bugs: 
- A tester would have experience in testing many application and would know when a code could break whereas a developer wouldn't have much exposure to bug which make a developer fail in testing.

5. Tight schedule: 
- Most companies wouldn't give sufficient time to developers which leads them to not test the whole application.

So what do you think can a developer test his own application better than a tester ?