Do We Really Write Test Cases For All Testing Types? Writing this post to clear the uncertainty surrounding the fresher groups of Software Testers. Most of the novice testers get this question in mind when they start learning Writing Test Cases.
As per ISTQB, There are four Software Test Types namely
- Change related
Functional Testing Type: Smoke testing, Sanity testing are some of the testing types come under functional testing.
Non-functional Testing Type: Testing types come under Non-functional Testing Type are Performance testing, Load testing, Reliability testing, Stress testing, Usability testing, Localization testing, Globalization testing.
Structural Testing Type: Structural Testing is also known as White Box Testing
Change Related Testing Type: Regression and retesting testing types come under change related testing type.
Let’s see Do the testers really right test cases for all the types of testing. Here, I give a short note on some of the testing types and I also specify whether we write test cases or not. I will confine myself to the widely used testing types in this post.
What is the Criteria to choose writing test cases?
- Tests we need to run on every build release of the application
- Tests we run using multiple data values
- Tests that consume lot of time
- Tests that involves in repetitive steps
- Tests that involves in cross platform or cross browser testing
Check below video to see “Do We Really Write Test Cases For All Testing Types”
Smoke Testing: Smoke testing is a type of testing which will be done to verify whether the released build is testable or not.
This is just to test whether the build which was released by dev team is testable. So we just test the basic features like login. To do smoke testing, we pick up the test cases which we have already written. We don’t write test cases particularly to do smoke testing.
Sanity Testing: Sanity testing is a type of testing which will be done during the release phase to verify the main functionalities of the application without going deeper. to do this we pick up the test cases which we have already written. same as smoke testing, we don’t write test cases particularly to do sanity testing.
Functional Testing: We do test each and every feature of the software application to make sure whether each feature is behaving as specified in the requirement document. To do functional testing, we do write test cases.
Integration Testing: Integration Testing is the process of testing the interface between two software units. To do Integration testing, we do write test cases.
System Testing: Testing the fully integrated application to ensure that the application works as intended or not. To do System testing, we do write test cases.
Acceptance Testing: This is done by the end users along with the testers to validate the functionality of the application. Most probably, Acceptance testing will be done by customers, so they may write test cases to do acceptance testing.
Compatibility Testing: It is to deploy and check whether the application is working as expected in a different combination of environmental components. Test cases which were already written will be used to do compatibility testing.
Adhoc Testing: Ad-hoc testing is quite opposite to the formal testing. It is an informal testing type. In Adhoc testing, testers randomly test the application without following any documents and test design techniques. So, we don’t write any test cases.
Performance Testing: Performance is concerned with achieving response times, throughput, and resource-utilization levels that meet the performance objectives of the product. Even though we use tools like LoadRunner, we pickup some scenarios and write test cases to do performance testing. Performance testing test cases are not similar to functional testing test cases.
Usability Testing: To verify whether an application is user-friendly or not. Main focus will be on look and feel of the application. We follow a checklist to test the look and feel of the application. So, we don’t write specific test cases to do usability testing.
Accessibility Testing: To verify whether a user is able to use it comfortably or not. We follow a checklist to test the look and feel of the application same like usability testing. So, we don’t write specific test cases to do usability testing.
Reliability Testing: In terms of reliability testing, we do Perform testing on the application continuously for long period of time in order to verify the stability of the application. We don’t write manual test cases to do reliability testing. We use automation tools to do this by picking up some scenarios.
Regression Testing: Repeated testing of an already tested program, after modification, to discover any defects introduced or uncovered as a result of the changes in the software being tested or in another related or unrelated software components.
We use already written test cases to do regression testing. So, we don’t write specific test cases to do regression testing.
Retesting: We do retesting to ensure that the defects which were found and posted in the earlier build were fixed or not in the current build. We don’t write test cases to do retesting. We use bug report to do retesting.
Recovery Testing: We do recovery testing to determine how quickly the system could recover from crashes. To do recovery testing, we write test cases.
Globalization Testing: Globalization is a process of designing a software application so that it can be adapted to various languages and regions without any changes. TO do globalization testing, we write test cases.
Localization Testing: Localization is a process of adapting globalization software for a specific region or language by adding local specific components. Yes, we write test cases to do localization testing.
What do you think about this post? If you like it, don’t forgot to share with your friends.
Here I have hand picked few tutorials for you to learn.