related errors, performance related issues, memory leaks issues, initialization and termination errors.
By now, you will be clear that white box testing is performed early in the testing process, i.e during Unit Testing phase ( by the developers on their modules) while the Black box testing is done to a complete application by the external testing team.
Discussion with my experience:
As I have already discussed that a good developer’s aim is to develop the robust code and the goal of a software tester is to break this robust code by finding bugs, and find them as early as possible, and make sure they get fixed. At first glance it may appear that a software engineer’s job would be easier than a software developer. Breaking code and finding bugs must surely be easier than writing the code in the first place. Surprisingly, it's not. The methodical and disciplined approach to software testing requires the same hard work and dedication that programming does. I remember my discussion with one of the senior Professor at IIIT Bangalore, for the development and testing team contributions towards completing a software project. He says that the role of the testing team is as important as a mother who cares a baby for nearly nine months before the baby see this beautiful world.
I am sure that you will agree with my experience of working towards completing a software product as a Developer or a Testing Engineer. Once the Software product is delivered to the client after proper testing with the efforts of so many sleepless nights. And now, We expect the praising words from the client in the next email. Contrary to that, get a big list of the bugs reported by the end users in the application code. It forced me to think that when these bugs were introduced in the code? As a quality person, a question always disturbed me "How did those bugs slipped from testing phase?"
Let us assume that the final application contains bugs. The source of these bugs could be any of the following
- By chance, the end user executed the portion of the software, which was never given to the Testing Team to test.
- The testing engineer was just a fresher and was governed by the instructions from the developers for testing the functionality of the code and did not checked the input values with those boundary values which the end user has checked.
- And the most frequently error is the mismatch in development and the end user testing environment. I have observed that the client environment was not kept in consideration while testing the application at offshore.
- The bugs reported by testing team were not monitored/ tracked properly. What I mean here that once you send all the bugs reported by you to the development team and they missed any of them and took the next built of the application to test. At this point I have always found that once the developer says that he has closed the status of the bug (means fixed the problem), we go with the developers word and did not test the application for the same error. Also maintaining the XL Sheet or any mode of bug report is difficult to maintain.
As a testing engineer you should consider all of the above points while testing any software application. If you want that the application should be robust and bug free, this difficult and time consuming process requires Technical knowledge and proper planning too. Good co-ordination between developers and testers plays a key role behind any successful project. Testers must have