What is Software Testing
Today I am going to explain about Software Testing. Now what questions comes in our mind: like what is software, what is testing and why we need to do software testing
First of all we need to understand what is Software and why we need Software testing..
Software is a series of instructions for the computer that perform a particular task, called a Program.
Testing is the process of executing a program on a system with intent of finding defects.
Testing look at the areas such as performance, stability and error handling by setting up test scenarios under controlled conditions and assembling the results.
Software Testing is the process used to help identify the correctness, security, and quality of developed computer software.
It is important to know that Software is mainly tested to see that it meets the customer’s needs and that is confirms the standards. It is usual norm that any Software is considered of good quality if it meets the user requirement.
A software product should only be released after it has gone through a proper process of development, testing and bug fixing.
Now let me explain what exactly a Software Tester does:-
The goal of a software tester is to find Bugs.
If you are only testing things that should work and setting up your test so they will pass, you will miss the things that don’t work and you will miss the bugs.
A Successful test is one that uncovers an as yet undiscovered error.
As a software tester you should not be content at just finding bugs – you should think about how to find them sooner in the development process, this making them cheaper to fix.
But finding bugs are not enough, as a software tester, we are the customer’s eyes, the first one to see the software; you should speak for the customer and must seek perfection.
- The goal of a software tester is to find bugs, find them as early as possible and make sure they get fixed.
Why we need Software Testing:-
- Indicate the software’s reliability and quality
- Identify areas of weakness and enhancement
- Verify that expected performance
- Verify the accuracy of logic
- Ensure the business requirements of system have been met.
- Reduce rework that is needed to fix buggy software.
- To check the presence of errors results in defects and presence of defects results in failure of the product.
Testing Start Process:-
Testing is sometimes incorrectly thought as an after-the-fact activity; performed after programming is done for a product. Instead, testing should be performed at every development stage of the product. Test date sets must be derived and their correctness and consistency should be monitored throughout the development process. Therefore, testing should not be isolated as an inspection activity. Rather testing should be involved throughout the Software Development life cycle (SDLC) in order to bring out a quality product.
Testing Stop Process:-
“When to stop testing” is one of the most difficult questions to test engineer. Common factors in deciding are:
- Deadlines (Release deadlines, testing deadlines)
- Test cases completed with certain percentages passed
- Test budget depleted
- Coverage of code/functionality/requirements reaches a specified point.
- The rate at which Bugs can be found is too small.
- Beta or Alpha Testing period ends
- The risk in the project is under acceptable limit.
The decision of stopping testing is based on the level of the risk acceptable to the management. As testing is a never ending process we can never assume that 100 % testing has been done. The risk can be measured by Risk analysis but for small duration/low budget/low resources project, risk can be deduced by simply: (Measuring Test Coverage, Number of test cycles, Number of high priority bug)
What makes a good Software Tester:-
- They are explorers: – Software testers are not afraid to take risk (venture) in to known situations. They love to get a new, install it on their PC and see what happens.
- They are troubleshooters: – Software testers are good at figuring out why something doesn’t work. They love puzzles.
- They are relentless (merciless):- Software tester keeps trying. They may see a buy that quickly vanishes or is difficult to re-create. Rather than dismiss it as a fluke, they will try every way possible to find it.
- They are creative: – Testing the obvious is not sufficient for software tester. Their job is to think up creative and even off-the-wall approaches to find bugs.
- They are perfectionists (well-matured):- They strive for perfection, but they know when it becomes unattainable and they are okay with getting as close as they can.
- They exercise good judgment: – They need to make decisions about what they will test, how long it will take and if the problem they are looking at is really a bug.
- They are tactful: – They are always the bearers of the bad news. They have to tell the programmers that there is a problem in delivered code. Good software tester knows how to do so tactfully and professionally and know how to work with programmers
- They are Persuasive: – Bugs those testers find would not always be viewed a severe enough to be fixed. Testers need to be good at making their points clear, demonstrating why the bug does indeed need to be fixed and following through on making it happens.
A fundamental trait of software testers is that simply like to break things. They live to find those elusive system crashes.