Before heading to the title software testing first we need to know what is software and how software are developed i.e phases of software development.
Computer software, or simply software, is that part of a computer system that consists of encoded information or computer instructions, in contrast to the physical hardware from which the system is built.
Phases:
Computer software, or simply software, is that part of a computer system that consists of encoded information or computer instructions, in contrast to the physical hardware from which the system is built.
Computer software can be put into categories based on common function, type, or field of use. There are three broad classifications:
- Application software is the general designation of computer programs for performing tasks. Application software may be general purpose. Application software contrast with system software.
- System software is a generic term referring to the computer programs used to start and run computer systems including diverse application software and networks.
- Computer programming tools, such as compilers and linker, are used to translate and combine computer program source code and libraries into executable RAMs
After the basic definition and type of software, lets head towards software development life cycle where we talk about the phases of software development(SDLC).
SDLC:
A software development life cycle is composed of a number of clearly defined and distinct work phases which are used by systems engineers and systems developers to plan for, design, build, test, and deliver information systems. Like anything that is manufactured on an assembly line, an SDLC aims to produce high-quality systems that meet or exceed customer expectations, based on customer requirements, by delivering systems which move through each clearly defined phase, within scheduled time frames and cost estimates. Computer systems are complex and often link multiple traditional systems potentially supplied by different software vendors. To manage this level of complexity, a number of SDLC models or methodologies have been created, such as "waterfall"; "spiral"; "Agile software development"; "rapid prototyping"; "incremental"; and "synchronize and stabilize.
Phases:
- Preliminary analysis
- Systems analysis, requirements definition
- Systems design
- Development
- Integration and testing
- Acceptance, installation, deployment
- Maintenance
- Evaluation
- Disposal
