Introduction to Software Testing
Testing, testing, and testing… this may be a monotonous task to perform as a tester.
In software, testing is clearly necessary to deliver a good product or solution to make your clients or bosses pleased and satisfied with the product. As a developer, I have no experience at all hence have no clue where to start and how to begin with. So again, I have to use my googling skill to look for some clue out there. Please read on and I hope I can help you understand abit.
First you need to understand the difference between Black box and White box testing. This isn’t about the colour but rather to the ideology of the testing. Here’s the definition of Black box testing taken from wiki.
Black box testing takes an external perspective of the test object to derive test cases. These tests can be functional or non-functional, though usually functional. The test designer selects valid and invalid inputs and determines the correct output. There is no knowledge of the test object’s internal structure.
This means that the purpose of the testing is merely to simplify your testing process by specifying input and expecting some output without any knowledge of the what the function is supposed to do. Think of black box as opaque box or closed box. To help you better understand, imagine you are testing an electronics system and it is housed in a black box with lights, switches, and dials on the outside. You must test it without opening it up, and you can’t see beyond its surface. You are only able to see if it works just by flipping switches (inputs) and seeing what happens to the lights and dials (outputs). On the other hand,
White box testing uses an internal perspective of the system to design test cases based on internal structure. It requires programming skills to identify all paths through the software. The tester chooses test case inputs to exercise paths through the code and determines the appropriate outputs.
People refers white box testing to clear box testing, glass box testing, transparent box testing, translucent box testing or structural testing. An opposite test approach would be to open up the electronics system, see how the circuits are wired, apply probes internally and maybe even disassemble parts of it. White box testing may also refer as unit testing, integration testing, or system testing.
There are two approaches in performing your testing: Manual and Automated testing.
Manual testing is is the process of manually testing software for defects. It requires a tester to play the role of an end user, and use most of all features of the application to ensure correct behavior. To ensure completeness of testing, the tester often follows a written test plan that leads them through a set of important test cases.
If you find this post useful, please leave your rating below. Or if you still have doubt, leave your comment below. Thank you!
Sources:
- What is black box/white box testing?
- Five Ways to Think about Black Box Testing
- Test Focus: This site contains some usefull featured articles about testing.
- I. M. Testy : What’s your test automation strategy?
