In many websites you might have read definition of whitebox testing.In this post I’ll be explaining the definition with a white box testing example.
Lets consider you have been interviewed for the position of quality assurance engineer in a software firm whose major business is a major website with heavy traffic. They want you to explain white box testing. Here are simple strategies to make the interview more interesting and exciting. Make it more interactive with this scenario
1) Lets log onto www.yahoo.com
2) Lets have the test cases with us. Test case is an excel sheet with description called test steps that details on what needs to be done at the website level, positive scenario the expected results, negative scenario if the output is different than what is expected
3) Check the website against each and every test case. If the result is as expected, mark it as positive
4) If the result is not as expected mark it as negative
Say, we click on mail icon at the left side bar, it should take us to mail login page. If it happens mark it as positive, if not mark it as negative. This is a simple example of white box testing. A first simple step for anyone entering testing field will help you perform more advanced testing including blackbox testing, stress testing, regression testing and much more
We have seen details on Behaviour Driven Development aka BDD
So, how do we implement this? What tools do we have to implement BDD?
It is ultimate cool cucumber that makes it possible
What is cucumber?
1) Cucumber is a tool that supports behavior driven development(BDD)
2) It is written in ruby and often installed as a gem
3) Supports testing in many different languages including Python, Java, C#, Ruby
Now comes the question on gherkin language.What is a Gherkin Language?
1) It is the native language used to write tests that cucumber understands hence supports behavior driven development (BDD)
2) It is business readable domain specific language
3) It can be written by anyone who undersands domain – Note that if you know domain you can write scenarios using gherkin. If you are an expert it is an icing on the cake
4) Gherkin code comes as a part of cucumber codebase
Gherkin language is used to write behaviors in the following languages:
Quality Assurance Engineer performs the critical task of checking the quality of the product as was said in the company handbook based on the quality assurance methodologies set forth by the company.
The following is the daily activity of a Quality Assurance Engineer:
1. QA Engineer looks at the issues that needs to be tested for the day.
2. He then checks the requirements document to make sure that there are requirements for the fix.
3. If the fix conforms to the requirements, check is made to make sure the test cases for testing the fix is in place, if not test cases are added/updated. If there are no requirements then the the fix is QA-Failed and it is assigned to the developer/business analyst for either updating the requirements for the fix and undoing the changes since there was no requirements for the fix.
4. Installation of the build is done and a quick smoke/sanity test is done to make sure that there is no problem with the build.
5. Testing is done for the fix. Also regression testing is done around the fix to make sure that the fix didn’t break any other functionality.
6. White box/Black box testing is done as appropriate based on the fix.
7. The test cases are updated with the result and QA notes/Query are added as a future reference.
8. The result are updated in the VI(Visual Incident) manager and the result communicated to the developer/project manager/QA manager.
9. Time is added to the timesheet for the work done for the correct billing to the client.
This is a brief description of the activity of a QA engineer. Note that the activity may change depending upon the fix and the situation.
If you prefer to take up job as a quality assurance engineer (or) software tester as it is variously called learning xcode adds value to your profile
What is xcode?
Xcode is an IDE, Integrated Development Environment that consists of suite of tools developed by Apple for developing apps for OS X , iOS. As a tester it becomes mandate to test mobile applications and most of these apps are developed in android (or) iOS. For testing such applications knowledge (or) hands-on experience with debugging tools like xcode comes handy
How do I test android apps?
Debugging tool Dalvik Debug Monitor Server aka DDMS comes handy while testing android apps
Where do I find my next job if I know any of these debugging tools?
This is mobile era and virtually any business has a mobile app that can be downloaded in iPhone (or) Android phone. As such all these apps need testers who assure their quality. Some popular companies like facebook, zynga, yelp,zillow and many online websites do value this skill while hiring qa professional