SDLC: Software Development Life Cycle
It’s a procedure to develop the software.SDLC defines all the stages and phases which are involved during the software development process. SDLC cycle is a process of developing the software in phases form, SDLC aims a high-quality software that meets the customer requirements.
Hi Viewers, Welcome to QAShala.com, this blog is focused on the FRESHER & those who are new in the Software Testing industry. Here, we will try to understand the SDLC and STLC phases.
Phases of SDLC:
- Requirement Collection:
- Done by the Business Analyst and Product Owners.
- Gathering all the requirements from the Customer or client.
- Create the application flowchart and its models
- Convert business requirement/Language into Software Language
- Feasibility Study:
- Done by the Project Manager, Business analyst, Architects, Finance Team, Resource Team, HR
- The discussion whether this application can be developed, and which technology should prefer
- Discussion of TECHNICAL FEASIBILITY, FINANCIAL FEASIBILITY, and RESOURCE FEASIBILITY
- High-Level Design: Done by the Architecture and Senior Developers, discussion about the High-Level techniques to be used I.E Database, Programming language, Interface, etc.
- Low-Level Design: Done by the senior developers. It describes how each and every function should work, here only design imposed not coding.
- Coding / Programming:
- Done by all the developers – Senior, Juniors, Freshers
- Start writing the code
- This is the process where actual software building processes starts
- Done by the Test Engineers
- All the Functional and Automation Testing Start
- It is a process to test the whole application, defect logging, and verification
- Done by the Installation Engineer
- It’s a phase where the installation engineer, install the software to the client system or environment and explain the process to the client
- When customers start using their software, they will find some loopholes and defects in the software so customers will send the product back to the development company for error correction and bug fixing.
- Fixing the bugs and adding or removing functions as per customer requirements.
- 100% Testing not possible because Tester’s testing scenario might be different from how the client uses the software.
Need of SDLC:
- SDLC helps to produce a High-quality software system that helps any organization to meet customer expectations.
- SDLC helps to create proper documentation of each stage which helps to control each stage
- SDLC help to ensure the business requirement are fulfill the customer requirement
- Each phase has its own entry and exit criteria
- SDLC phases help to maintain deliverables
STLC: Software Testing Life Cycle
Software Testing Life cycle is a process that involves only during the Testing process. STLC has many phases and various activities carried out to improve the quality of the product.
Different organization defied different phases of STLC, but generic STLC phases has following stages.
Phases of STLC:
- System Study [Requirement Collection]: Requirement can be in any following form
- CRS: Customer requirement specification
- SRS: System requirement specification
- Test Lead or test engineer study the requirement carefully then start preparing for Test Plan
- Test Plan:
- Test Plan is a document that carried or drives all the future testing activities
- Test Plan mostly prepared by the Test Lead or sometimes by test engineer who has good application knowledge
- Test Plan has all the modules specific information
- Test Cases:
- Test Cases are the basic testing scenarios used by the test engineer for their testing drives
- Test Cases will be module/functionality based
- Test Cases are generally written by the Test Engineer who is responsible for the respective modules
- The customer also provided Business Test cases scenarios
- Traceability Matrix:
- Sometimes Test Engineers missed writing test cases for different requirement
- Traceability Matrix is a document that defines the mapping between Test Cases and Requirement
- Test engineers created this document to make sure each requirement has its respective test cases
- If any requirement has changed in the future, the test engineer will know easily what all test cases need to change using Traceability Matrix
- Test Execution:
- Test Execution is the phase where all the test engineer spends maximum time
- Test Engineer Execute all the test cases on the actual developed Software
- All the Functional testing are performed by the test engineer
- Defect Tracking:
- During the Test Execution, Test Engineer will definitely find different bugs/defect
- All the defects should log in to the respective defect tracking tool
- All the raised defects should assign to the respective developer
- Defects should be tracked and based on a fix, defects should be closed
- Test Execution Report:
- Test Execution Report is a document
- The report contains how many test cases Fail, Pass, Not Tested
- The report should be module based
- The report should be sent to Test Lead for further review
- Retrospective meeting:
- Meeting called by the Project Manager
- All the dev, Test, and business team will be present in the meeting
- What went well, what needs to be changed are the talking point of the meeting
Need of STLC:
- STLC helps to maintain the test process smooth and clean
- STLC helps to create proper documentation of each stage of the test process
- STLC help to ensure that each module of function has been tested
- STLC phases help to maintain to cover Test Execution on time
Different between SDLC and STLC: