Let’s start with the obvious, Does it work?
This indeed is very basic to be discussed but it’s equally important and crucial to not be missed.
As we’re dealing with the basic Software testing in this blog, we are starting with “basic functionality testing”.
Basic Functionality Testing is exactly what it sounds like, in this very pre-requisite step, we take care of testing the very working of the software i.e. Is the software even running/executing?
Oops! It Crashed 😐
If the obvious answer is YES, it runs! Then skip this step and let’s move forward with our testing process. If NOT, then you my friend have a lot to figure out. Go back to the very basic functions that run the program and test the code line by line, check the error reports and ensure to rectify any syntax errors first.
If you want to read the in-depth article about how to removes these errors in detail for a specific software type, we’ll soon be uploading that here.
Yey! It works! 🙂
Coming back to the point, now that your software is in running state, we need a list.
Grab that list of Requirements
A list of all the functional and non-functional requirements. Pretty sure you had some listed before developing the software, if not, then you might actually be missing out on something you don’t even remember, even the little details like “placement or size of a button” is important.
Every Requirement is a Stepping Stone
Start with the list of functional requirements and treat every requirement like a test phase. No matter how insignificant a requirement looks like, as a good developer or tester, you always give 100%, every little detail matters.
Basic Steps to Test Any Software
Now let’s discuss how you can do this testing every step of the way. This article won’t go in the very depth of codes because every type of software needs a different approach, we’ll soon be updating the detailed guide on every type of software testing here.
Coming back to the point, the following are the basic steps to test a part of any software:
- Identify the areas of the software that impact your users on the largest scale.
- Create a list depending on areas to prioritize.
- Analyze and decide the list of tests that would be needed to verify the functionality of each area.
- Refer to the Software Log Results.
- Create a hierarchy of severity based on the prioritization.
- Start with fixing the problems with the highest severity.
- Archive the low threat defects to fix later.
Usual Software Testing Flow
Discussed below is the usual flow of how a software testing routine works:
- Identify the specifics of the system that needs to be tested.
- The key functionality and features of the project at hand.
- Identify functional as well as non-functional requirements.
- Analyze the problem and decide the Test Approaches to be used — traditional, exploratory, automation, etc.—or a mix
- Enlist the key processes and tasks to follow for resolving the defects.
- After analyzing the defects, select the possible Tools for logging defects, scripting, traceability and fixing them.
- Documentation to refer, and to produce as output
- Test environment requirements and setup
- Risks, dependencies, and contingencies
- Test Schedule
- Approval workflows
- Entry/Exit criteria
Types of Software Testing
Now that we’ve discussed the basic functionality testing and the overall process of testing software, we should take a look at the various types of software testing that possibly take place.
These types of software testing are actually various techniques, for choosing one specific technique, first, you must identify the type of problems you might face in the software and that can be done using the “basic functionality testing” explained earlier.
Following are the main types of software testing techniques used in the market:
- Black Box Testing
- White Box Testing
- Acceptance Testing
- Automated Testing
- Regression Testing
- Functional Testing
- Exploratory Testing
Some other forms of testing worth mentioning are:
- Load Testing
- Performance Testing
- Recovery Testing
- Security Testing