|
|
Consider a simple example: to test a program which takes three numbers (for three sides of a triangle) as input and checks whether the sides form a triangle or not [Meyer 1979]. How do we tlst the program? We have to give different combinations of inputs (3 numbers) and check whether the program is working correctly. We need to give correct inputs (numbers which form a triangle) and wrong inputs (numbers which do not form a triangle) and ensure that the output is as expected. To give the correct numbers again, the numbers can be integers, floating point numbers or a combination of both. We also need to give characters and check the program (if you give single characters, it gives interesting output!). We need to give small integers (say, 10,12,3) and also big integers (568888,9999999 etc). We need to give some inputs that have one or two 0's,and all zeros and check how the program is functioning. So, to carry out an exhaustive testing of such a simple problem, the input data to be given will be enormous. It takes nearly 2 hours to give all possible combinations and make sure that this program is ok. Testing is difficult because:
As the complexity of the software increases, the time taken to do such exhaustive testing becomes enormous and exhaustive testing becomes humanly impossible. To summarize, testing is difficult! To carry out the testing in a limited time with limited effort and resources, and try to bring out all the possible hidden defects is a challenging and intelligent task.
|
|
All rights reserved © 2020 Wisdom IT Services India Pvt. Ltd
Wisdomjobs.com is one of the best job search sites in India.