Software Development Life Cycle
It is the sequence of operations used while developing the new software for designing and building them as per the customer requirements.
It reduces the risk while developing through prior planning and meet the required outcomes.
Models of SDLC
There are various models used in developing the software, some of them are
- Prototype Model
Iterative Model
Spiral Model
V-Model
Waterfall Model
Agile Model
SOFTWARE TESTING LIFE CYCLE (STLC)
It is the systematic approach to testing a software whether it meets the customer requirements and its free of defects.
The main aim is to identify the defects or errors as early as possible and rectify it before the deployment.
Stages of STLC
--> Requirement Analysis
--> Test Planning
--> Test case development
--> Environment Setup
--> Test Execution
--> Test cycle closure
Requirement Analysis
This is the first stage of testing life cycle where the customer gives their requirements and needs to the company, from where it is given to the Business analyst (BA) i.e, quality assurance team.
They go through the software requirement specification documents to better understanding of the product and knows the detailed knowledge of the product from the customers.
Once clear with the product requirements moving on to the next stage.
Test Planning
This is the second stage of STLC which is more efficient for planning all the detailed tasks to develop the product.
In this stage, the estimated time, cost and efforts for completing the project are taken into consideration for further proceedings.
Also assigning and dividing the team members to the specific jobs are also done in this stage.
Test Case Development
This is the next stage where various test cases and scenarios are developed and studied for the required outcomes.
For these various scenarios, the expected outcomes are identified. Validating and reviewing the test cases.
This helps in reduce the risks as early as possible during the product development.
Environment Setup
This is based on the products we are developing because work environments varies according to the products we are working.
Various conditions are taken into consideration for testing the software.
Test Execution
After completing the previous stages, this stage is next where the test cases are run in the certain software and check whether successful or not.
If any defects identified, it is rectified and again retested for the expected result.
These defects or issues are noted down in a documents for the further proceedings.
Test Cycle Closure
The final stage of the STLC where all the testing related activities are completed and documented.
The actual results are documented for further proceedings and errors that occurred during the development.
The product should be defect free and should meet the customer requirements before the deployment.
RISK FACTORS IN TEST PLAN
Various risk factors that are included in test plan are,
Delay in resources - This leads to start the process late and the expected result cannot be obtained in expected time. This also leads to work overtime, if worked in hurry the errors obtained will be more.
Available of required tools - After starting the process, it can be stopped due to malfunction of software or tools in which the work has to move on.
Skilled workers - If the process should be completed on time, then the workers have to be well trained and skilled. If not then the process takes time to make them understand the project and make them work.
Expense Risk - If the ongoing product development has so many errors and it has to retested several times which leads to more cost effective one which is not affordable. So the required steps have to be taken prior to start developing the process.
Customer Risk - Once the product is completed, it should be tested several times whether it meets the customer requirements before deployment. Or else it leads to the customer dissatisfaction and can lose the trust of the customer.
Security Risk - Misuse of the product by the third person. To prevent this necessary steps has to be taken and security system should be created in the product for further unfruitful events.
Quality Assurance & Quality Control
QA & QC both comes under the quality management. QA deals with the set of activities and procedures called quality standards during and after product development whereas QC deals with checking the product or project whether it meets the required standards.
Quality Assurance | Quality Control |
* It is a set of activities for ensuring quality in each phase of the product development process. | * It is set of activities for ensuring quality in the product i.e to identify defects. |
* It is for process oriented. | * It is for Product oriented. |
* It is used to follow process about avoid bugs. | * It is used to follow product quality and rectifying the errors if any. |
* It gives the assurance & confidence to the respected person. | * It gives the expected results. |
* QA is preventing defects. | * QC is correcting defects. |
* Comes under the category of validation. | * Comes under the category of verification. |
* Human based checking of documents or files. | * Computer based execution of program. |
* It is not time consuming activity. | * It is time consuming activity. |
* Helps build the processes. | * Helps implement the built process. |
Difference between Manual & Automation testing
Manual Testing | Automation Testing |
* It is a type of testing in which no tools are required for Performing the testing | * It is a type of testing in which no tools are required for Performing the testing |
* It is done with the help of human, so the processing time is higher | * It is performed by a machine, program or code so the processing time is several times lower than manual testing. |
* It is not accurate at all due to human error. | * It is more reliable as it is performed by tools. |
* Investment is required for human resources. | * Investment is required for testing tool and equipment. |
* It is only practical when the test cases are run once or twice. | * It is practical when the test cases run repeatedly over a long time period. |
* There is no requirement of programming knowledge. | * Programming knowledge is necessary. |
* This method allows human observation. | * This does not allow human observation. |
* These are recorded in excels or word, and are not easily accessible. | * It will generate report in systems. |
* It can be implemented in random testing. | * It does not allow random testing. |
* It is suitable for small & medium scale projects. | * It is suitable for large scale projects. |