SDLC: Systems Development Life Cycle
Systems Development Life Cycle, is the process of creating a software and this the one which is followed in Software Testing.
Phases of software project: A software project is made up of series of phases.
(1)Requirements gathering and analysis
(2)Planning
(3)Design
(4)Development or coding
(5)Testing
(6)Deployment and maintenance
(1)Requirement gathering and analysis:
·The requirements of the software to be built are gathered and documented.
·If the software is bespoke software then there is a single customer who can give these requirements.
·If the product is general-purpose software, then a product marketing team within the software product organization specifies the requirements by aggregating the requirements of multiple potential customers.
·The requirements get documented in the form of a system requirements specification (SRS) document.
·The document acts as a bridge between the customer and the designers chartered to build the product.
(2)Planning:
·The purpose of the planning phase as to come up with a schedule, the scope, and resource requirements for a release.
·A plan explains how the requirements will be met and by which time.
·It needs to take in to the account the requirements- what will be met and what will not be met- for the current release to decide on the scope for the project.
·The planning phase is applicable for both development and testing activate
·At the end of this phase, both project plan and test plan documents are delivered.
(3)Design:
·The design phase produces a representation that will be used by the following phase, the development phase.
·This representation should serve two purposes. First, fro this representation, it should be possible to verity that all the requirements are satisfied. Second, this representation should give sufficient information for the development phase to proceed with the coding and implementation of the system.
·Design is usually spilt in to two levels high level design an low level design or detailed design .
·The step produces the system design description (SDD) document that will be used by development teams to produce the programs that realize the design.
(4)Development or coding:
·Design acts as a blueprint for the actual coding to proceed.
·In addition to programming, this phase also involves the creation of product documentation.
(5)Testing:
·As the programs are coded, they are also tested.
·In addition, after the coding is complete, the product is subjected to testing.
·Testing is a process of exercising the software product in pre-defined ways to check if the behavior is the same as the expected behavior.
·By testing the product, an organization identifies and removes as many defects as possible before shipping it out.
(6)Deployment and maintenance:
·Once the product is tested it is given to the customer who deploys it in their environments.
·As the users start using the product in their environments, they may observe discrepancies between the actual behavior of the product and what they were give to expect.
·Such discrepancies could end up as product defects, which need to be corrected.
·Now the product enters in to the maintenance phase.
·Maintenance is made up of corrective maintenance (for example, fixing customer-reported problems).
·Adaptive maintenance (for example, making the software run on a new version of an operating system or database),
·Preventive maintenance (for example, changing the application program code to avoid a potential security hole in an operating system code).