You would have heard that Software Development Life Cycle (SDLC) is an important topic that should be known by the tester before starting his career in software testing.
SDLC models describe phases of the software cycle and the order in which those phases are executed. Each phase produces deliverables required by the next phase of the life cycle. Requirements are translated into design. The code is produced according to the design which is called the Development Phase.
After coding and development, the testing verifies the deliverable of the implementation phase against requirements.
There are following six phases in every Software Development Life Cycle model:
- Initial phase / Requirement gathering
- Analysis phase
- Design phase
- Coding phase
- Testing phase
- Delivery and maintenance phase
1. Initial Phase:
Business prerequisites are accumulated in this phase. This stage is the primary center of the venture supervisors and partners. Gatherings with supervisors, partners, and clients are held keeping in mind the end goal to decide the prerequisites like; Who is going to utilize the framework? In what manner will they utilize the framework? What information ought to be a contribution to the framework? What information ought to be yield by the framework?
These are general inquiries that get replied amid the prerequisites gathering stage. After prerequisite assembling these necessities are investigated for their legitimacy and the likelihood of consolidating the prerequisites in the framework to be advancement is additionally concentrated on.
Finally, a Requirement Specification document is created which serves the purpose of guideline for the next phase of the model. The document consist of the following:
- Functional Requirement Specification
- Business Requirement Specification
- Client/Customer Requirement Specification
- User Requirement Specification
- Business Design Document
- Business Document
NOTE: It is not necessary that every company uses all these phases some have their own ways of providing a specification.
2. Analysis Phase:
The feasibility study, Tentative planning, Technology selection, Requirement Analysis are part of the analysis phase.
People who work in this field are: System Analyst (SA), Project Manager (PM), Team Manager (TM)
How Analysis phase work?
- Feasibility study: It is a detailed study of the requirements in order to check whether all the requirements are possible are not.
- Tentative planning: Resource planning and time planning is temporarily done in this section.
- Technology selection: The lists of all the technologies that are to be used to accomplish the project successfully will be analyzed and listed out here.
- Requirement analysis: The list of all the requirements like human resources, hardware, the software required to accomplish this project successfully will be clearly analyzed and listed out here.
3. Design Phase:
The design phase has two major tasks to follow :
- HLD (High-Level Designing)
- LLD (Low-Level Designing)
How does the Design phase work?
The chief architect will divide the whole project into modules by drawing some diagrams and the technical lead will divide each module into submodules by drawing some diagrams using UML (Unified Modelling Language).
The technical lead will also prepare the PSEUDO Code. The Pseudo Code is defined as “A set of English instructions used for guiding the developer to develop the actual code easily”.
4. Coding Phase:
- The coder has now the task to do Programming / Coding.
- Developers will develop the actual source code by using the PSEUDO Code and following the coding standards like proper indentation, color-coding, proper commenting and etc. The proof of this phase is SCD (Source Code Document).
5. Testing Phase:
- First of all the Test Engineer will receive the required documents and review them for understudying the requirements.
- If they have any doubts while understanding the requirements they will prepare the Review Report (RR) with all the list of doubts.
- Once the clarifications are given and after understanding the requirements clearly, they will take the test case template and write the test cases. Once the build is released they will execute the test cases.
- After executions, if they find any defects then they will list out them in a defect profile document.
- Post that, they will send the defect profile to the developers and wait for the next build.
- Once the next build is released they will once again execute the test cases. If they find any defects they will follow the above procedure again and again till the product is defect-free. Once they feel the product is defect-free they will stop the process.
6. Delivery and Maintenance Phase:
The senior test engineers who are deployment engineers, then install the application into the client environment with the help of guidelines provided in the deployment document.
After the delivery if any problem occurs then that will become a task-based problem and the corresponding rolls will be appointed for each problem. Based on the problem, roles will be defined and the process and thus the there solutions.
To sum up, Software Development Life Cycle, adopted by almost all top custom software development companies worldwide, is important for everyone from the programmer to the project manager. It plays an essential role in the development phase of a product.
It defines each step in the software development process depicting how to develop, maintain and replace specific software. The life cycle enhances the general nature of programming and the development cycle.