Software Testing is a process to quantify the quality of software and maintain the quality throughout the life of the software.
Software Testing is oriented to “Detection.” It’s examining a system or an application under controlled conditions. It’s intentionally making things go wrong when they should not, and things happen when they should not.
Organizations vary in how they assign responsibility for QA and testing. Sometimes they combine the responsibility of one group or individual. It is also common that project teams include a mix of tester and developers who work closely together, with overall QA processes monitored by project managers. It will depend on what best fits an organization’s size and business structure.
Many times, people ask what software testing is? What happens in it? So, let’s see.
Software testing is a process to find out the difference between Expected Results and Actual Results.
– Software Testing Definition
Expected Results: – It is the results that are expected after executing the software. According to the requirements that a customer has asked for in the software.
Actual Results: – When we execute software the behavior of the software or how it reacts, what it gives you at the end of operation are called actual results.
The Purpose of Software Testing?
The software is tested and put through various tests to see whether it performs as per expectations. It is done to find out various bugs in the software.
Process of Software Testing:
It must undergo various software testing methodologies such as Unit Testing / Component Testing, Integration Testing, System Testing, Acceptance Testing.
Now let us learn the most common terms used in Software Testing:
Common Software Testing Terminologies:
Test Plan: Test plan is a comprehensive document where every detail regarding the testing activity is recorded.
Test Strategy: It is a strategy used to test the projects.
Test Case:
“A Test Case is documented that describes an input, action, or event and an expected response, to determine if a feature of an application is working correctly or not. A test case should contain particulars such as test case identifier, test case name, objective, test condition/setup, input data requirements, steps, and expected results.”
Reporting or tracking process show personnel at various stages. For instance, the tester needs to know when to enable notification of appropriate personnel at a different stage.
For example, the tester needs to know when retesting is required.
Developers need to know when the bugs are found and how to get the information and reporting/summary capabilities are needed for managers.
Defects:
It is any variant between the expected result and the actual result. If the Software is not fulfilling the expected action, then it is a defect.
Defects are always visible on GUI (Graphical User Interface) to the tester.
Error:
It is a human mistake done in coding a simple silly mistake that may cause a server defect. It is visible to the developer only. An error results in defects.
Failure:
When the software does not fulfill customer requirements or customer unsatisfactory is called as a failure. It is visible to the client or end-user. Defects lead to failure.
Clients:
Clients are the one who pays you for software development. They may also be an end-user.
End User: – He is one who uses the software. They may also be a client.
Hot Fix: A hot fix is a specific fix for production issue reported by client.
Defect Behaviors:
Wrong: Software is doing what it is not supposed to do. It is not doing what it is meant to do.
Both the points are specified in requirement.
Missing: It is not specified to do, but it should do accordingly.
Extra: It is not specified in the requirement and doesn’t require but doing so.
You should also look at: