Software Testing Methods are,
- Black box Testing
- White box Testing
- Grey box Testing
Black box Testing
Testing done without the knowledge of Code
Black box testing is a technique in which the software is tested without the knowledge of an application’s internal source code or design or algorithm details. Black box testing is the most widely used testing method. Testers interact with user’s interface and validate the software based on the requirement specifications.
Key Points:
- Programming knowledge is not required
- Coding skills are not required
- Requirements Analysis is required
- Interface design understanding is required
- Algorithm and Implementation details are not required
Example:
For instance, consider you have an “Age” text box in an application. Age is a number field and it should accept only positive numbers. Strings, special characters, and negative integers are not allowed. So, perform both positive & negative testing, and validate the software behavior. Testers need not worry about the code or its algorithm to test the software.
White Box Testing
Testing done with the knowledge of Code
White box testing is a technique in which the software is tested with the knowledge of an application’s internal source code and algorithm. For those who hate coding, this is not the suitable testing technique 🙂
Key Points:
- Programming knowledge is required
- Coding skills are required
- Requirements Analysis is required
- Interface design understanding is required
- Algorithm and Implementation details are required
- Root Cause Analysis is required
- Optimize code if necessary
White box testers write test cases to validate source code and identify missing conditions or incorrect logic. In this case, testers will have broader knowledge about the software both technically and programmatically.
Example:
For instance, consider you have a “Years” text box in an application that you are testing. Years is a number field and it should accept only positive numbers. Strings, special characters, and negative integers are not allowed. So, perform both positive & negative testing, and validate the software behavior by understanding the code logics. If any test condition fails, root cause analysis is required
Grey box Testing
Testing done with the partial knowledge of Code
Grey box testing is a technique in which the software is tested with the limited knowledge of an application’s internal source code or design or algorithm or implementation details. Grey box testing is the combination of black box and white box testing.
Key Points:
- Minimal Programming knowledge is required
- Partial Coding skills are required
- Requirements Analysis is required
- Interface design understanding is required
- Limited Algorithm and Implementation details are required
- Root Cause Analysis is partially required
Grey box testers have limited access to application’s source code.
Example:
For instance, when a tester is assigned with a resolved/fixed bug, he could easily identify the regression tests that needs to done due to the bug fix made by the developer because of the partial knowledge about the internal structure of the code.
Don’t forget to share the post with your friends!
Suggested Readings:
Top 30 Cucumber Interview Questions & Answers
Steps to automate two-factor authentication (2FA) using selenium
Top 40 Selenium Interview Questions & Answers
Here are some hand-picked articles that you should read next ?
- Agile Model
- Software Testing Principles
- Verification Vs Validation
- Quality Assurance Vs Quality Control
Know anyone who would like to learn Software testing? Let them know by sharing this article on Facebook, Twitter, Gmail, or LinkedIn.
Hi Shobika,
Thanks for breaking it down in such a simplified way.
@Anwer, am glad you found it useful.
Hi Shobika, your website is very good and the right one for beginners like me. Please so send me any good stuff or updates on Software testing to my email id srinivasadasu@gmail.com so that this email is registered with you.
Many thanks again.
Srini
Thanks Srini. Please do subscribe for updates:)
Thankyou so much.Please send me the updates on software testing