Friday, January 27, 2017

What is and why software Testing

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.
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
Image result for software development life cycle


Now lets go through software testing.
Testing is the process of evaluating a system or its component(s) with the intent to find whether it satisfies the specified requirements or not. It can also be stated as the process of validating and verifying that a software program or application or product:
  • Meets the business and technical requirements that guided it’s design and development
  • Works as expected
  • Can be implemented with the same characteristic.

Why software testing?
Software Testing is essential because we all make mistakes. Some of those mistakes may not affect, but some of them may turned out expensive or dangerous. We need to check  everything and anything we produce because things can always go wrong.
In other word to ensure the quality or meet the requirement testing is essential. 
Software testing is very important because of the following reasons:

  1. Software testing is really required to point out the defects and errors that were made during the development phases.
  2. To ensure  Customer’s reliability and their satisfaction in the application.
  3. To ensure the Quality of the product.  
  4. For an effective performance of software application or product.
  5. To ensure that the application should not result into any failures asit can be very expensive in the future or in the later stages of the development.
  6. It’s required to stay in the business.

No comments:

Post a Comment