Home » Software Engineering

Software Testing and its basic types

In this article, we would understand the need for software testing and its basic types that one should keep in mind.
Submitted by Raunak Goswami, on October 08, 2018

So before we begin, we should understand the term software development life cycle.

A software development life cycle refers to a set of procedures that an organization follows in order to develop a software for the general public. Each organization is free to follow the type of life cycle model it prefers. Few of the models are given below:

  1. Build and fix model
  2. Waterfall model
  3. Increment process model
  4. Evolutionary process model
  5. Prototyping model
  6. Spiral model

Given below is the life cycle of the waterfall model:

SDLC | Software Engineering

To read more about the waterfall model: Software Life Cycle Model: The Waterfall Model

From the life cycle diagram, we could identify that only writing the codes is not enough for developing a software. We need to test it before we could make the software available to the general public.

Now let us look at some basic types of testing that must be done before making a software available to the public.

1. Acceptance Testing

This type of testing is performed to produce user-specific software.A series of tests are performed which is used to verify all the requirements that the customer wants in his system. These tests are performed by the user and may range to well plan systematic series of tests. This type of test is performed for a few months and weeks. After discovering the errors through these testing, developers are required to fix the issues in order to satisfy the needs of the customer.

2. Alpha Testing

This type of testing is usually performed when the software is being developed for the general public to use. As the name suggests ‘alpha testing’ this means the testing is performed at the developer’s site by a customer. Under the developer’s environment and as the errors are encountered they are reported immediately to the developer. To perform this kind of testing some potential customers are shortlisted and are called at the developer’s site for the use of software by them. After then the customers try out the software for free and report the issues.

3. Beta Testing

This type of testing is also done by the customer the only difference between the alpha and beta testing lies in the type of environment where the testing is done. Alpha testing is done at the developer’s site whereas the beta testing is performed at the customer’s site or in the real world condition. You must have seen an option for becoming a beta tester at the google play store while downloading an app. Becoming a beta tester will give you access to the latest features of the software earlier than others so that you can test that software and can report directly to the developer if you face any issue. The only disadvantage that you’ll have is that the app or the software may crash at your system i.e. user’s environment and can cause a huge damage to his/her system. Conducting beta tests helps in maintaining the reputation of the company and at the same time helps the company to identify the real-world risks that a software may face.

So next time you opt for beta versions just be aware of the potential risks that your system may encounter while installing that software. But then someone has to opt for beta testing to make other’s life easy, just kidding.



Comments and Discussions



Languages: » C » C++ » C++ STL » Java » Data Structure » C#.Net » Android » Kotlin » SQL
Web Technologies: » PHP » Python » JavaScript » CSS » Ajax » Node.js » Web programming/HTML
Solved programs: » C » C++ » DS » Java » C#
Aptitude que. & ans.: » C » C++ » Java » DBMS
Interview que. & ans.: » C » Embedded C » Java » SEO » HR
CS Subjects: » CS Basics » O.S. » Networks » DBMS » Embedded Systems » Cloud Computing
» Machine learning » CS Organizations » Linux » DOS
More: » Articles » Puzzles » News/Updates

© some rights reserved.