Release Testing or Port Testing

After completion of acceptance testing, project management concentrate on release team formation along with few testers, few developers and few hardware engineers. This release team is also called as onsite team or delivery team and the lead of the team is called as Delivery Head. This team go to customer site and launch the software after observing the below factors:

  1. Complete Installation
  2. Overall Functionality
  3. Input device handling(keyboard, mouse etc)
  4. Output device handling(Fax, monitor, printer etc)
  5. Secondary storage devices handling like CD, Pendrive, Hard disk, Floppy Drive etc.
  6. Operating System support
  7. Co-existence with other softwares in customer site
After completion of software launching and release testing, release team provide training to customer site people on that software. After of training release team return to their own organisation.


port testing
Release Testing




Acceptance Testing

After completion of software testing, project management concentrates user acceptance to collect feedback from customer site people i.e. end users. There are two kinds of acceptance testing which are alpha testing and beta testing


Alpha Testing:


  • Is suitable for software application
  • Is conducted by real customer site people
  • Is performed in the same organisation



Beta Testing:

  • Is suitable for software products
  • Is conducted by modal customers
  • Is performed in modal customer site

Compliance Testing

In this testing , testing team performs testing software under test with respect to their company standards. Such type of testing is known as compliance testing or standards testing. For example:
ISO (International Standard Organisation)
CMM (Capability Maturity Model)
SIX SIGMA

Standards Testing
Compliance Testing

Parallel Testing or Competitive Testing

In this testing, testing team compare software under test(SUT) with similar products in market or with previous version of SUT in order to identify weaknesses and strengths. This testing is also called as comparison testing. This testing is applicable for software products only.

comparison testing
Competitive testing or comparison testing

Multilanguity Testing

During this test, testing team validate software under test by entering inputs in various languages when software is developed in JAVA UNICODE

foreign language testing
Multilanguity Testing


Learn about-

Performance Testing

Performance means speed in processing of a software. In order to customer side people/client, companies try to improve speed of a software. This testing can be categorized into following parts:
  • Load
  • Stress
  • Spike
  • Endurance
1. Load Testing- The execution of a software under test under customer expected configuration and customer expected load (number of concurrent users) to estimate speed in processing is known as load testing.

2. Stress Testing- The execution of a software under test under customer expected configuration and more than customer expected load (number of concurrent users) to estimate peak load is known as stress testing.

3. Spike Testing- The execution of a software under test under customer expected configuration and unexpected heavy load (number of concurrent users) to estimate reliability is known as spike testing or soak testing.

4. Endurance Testing- The execution of a software under test under customer expected configuration and more customer expected continuous load (number of concurrent users) to find out the memory leakages is known as stress testing or durability testing.

The combination of above four testing topics are costly to conduct but mandatory for multi user softwares.

Non-Functional Testing

After successful completion of functional testing, testing team concentrate on non-functional/structural testing to validate characteristics or attributes of software under test like usability (easy to use), compatibility (running on various platforms/operating systems), performance (speed), security etc.

(a) Usability Testing: During this kind of testing, testers validate software under test screens in some factors like look and feel, ease of use, short navigation etc.

(b) Compatibility Testing: This testing is also called as portability testing. In this testing, the testing team validate software under test to configure  that it runs on various platforms or not. Here platform means operating system, browsers and other system software.

(c) Configuration Testing/ Hardware Compatibility Testing: During this test, testing team validate software under test to confirm that whether it supports different technology hardware or not. for example printers, fax , networks etc.

(d) Inter system testing: In this , the testing team validate software under test to confirm whether it shares the resources of another software or not.

Interoperatibility
Inter system Testing
the above system is also known as 'End to End Testing' or web services testing or service oriented application testing

(e) Data Volume Testing: During this test, testing team calculate the capacity of database in software under testing. This testing is also called as capacity testing or memory testing. In this testing, testers insert sample data to database of software under test until database violation error (with respect to database overflow) occurs.

memory testing
Data Volume Testing

(e) Performance Testing

(f) Multilanguity Testing or Foreign Language Testing

(g) Competitive testing, comparison testing, parallel testing

(h) Compliance Testing

System Testing or Software Testing

When software is ready after Integration Testing, a separate testing team concentrate on software testing with respect to customer's requirement and expectations.

System Testing
Software Testing or System Testing

















Functional Testing:

Testing team validates a software with respect to customer's requirements. During this test testing team applies below sub tests on a software-

  • Behavioral Testing
  • Error Handling Coverage/Testing
  • Input Domain Testing
  • Output Testing/Manipulations Testing
  • Database Testing
(a) Behavioral Testing-  This testing is also called as control flow testing or control structure testing. During this testing, testers validates correctness of flow in screens of SUT (Sofware Under Test) for example: Top to bottom and bottom to top.

(b) Error Handling Coverage/ Testing- During this test testers validate Software under test by operating in a wrong way. In this testing, testers test the appearance of error messages/ alert messages.

(c) Input Domain Testing- In this testing , testers validate the size and type of the inputs in the software under test.

(d) Output Testing/ Manipulation Testing- In this testing, testers validate the correctness of output/outcome in software under test.

(e) Database Testing-  This testing is also called as Back-end Testing. During this test, testing team validate the correctness of the front-end operation's impact on back-end data base in terms of data validation and data integrity. Correctness of the new data insertion is called as 'Data Validation' and the correctness of the changes in the existing data is called as data integrity.

In the above functional testing, the initial four types are categorized as 'Front-end' Testing whereas the last one is categorized as Back-end testing.

Learn Next- Non-Functional Testing

Integration Testing

Integration Testing is also called as 'Interface Testing'. After writing the code and finishing the unit testing (of the different - different modules), programmers focus on interconnection of those programs (modules).

Integration
Integration Testing
In order to integrate the programs/modules the programmers use one of the following methods/approaches:

  1. Top Down Approach
  2. Bottom Up Approach
  3. Hybrid Approach
  4. System Approach or Big Bang Approach
Top Down Approach:

The integration of the main module with some of the sub- modules is called as top down approach. In the place of under constructive sub modules, programmers use temporary programs which is called as 'stubs'.

Top Down Approach
Top Down Approach

Bottom Up Approach:


The Integration of sub-modules without interconnecting with main module is called as Bottom Up approach. In the place of under constructive main module programmers use a temporary program which is called as calling 'driver' or 'calling' program.

Bottom Up Approach
Bottom Up Approach


Hybrid Approach:

This approach is also called as 'Sand witch' approach. The combination of top down and bottom up approach is called as hybrid approach.

Hybrid Approach
Hybrid Approach



System Approach or Big Bang Approach:

In this approach Integration Testing starts only after the 100% completion of the coding. This the only reason that in this approach stubs or drivers are not required.


Learn Next- System Testing or Software Testing

Unit Testing

After coding, programmers check/validate completeness and correctness of the program which is called as unit testing or open box or clear box testing techniques. It includes following points:

  • Program Working
  • Program Correctly Working 
  • Program Fastness
Unit Testing is categorized into the following parts:
  1. Basic Path Coverage
  2. Control Structure
  3. Program Technique Coverage
  4. Mutation Coverage
Basic Path Coverage:

In this technique, programmer runs the program more than one time to cover run time errors and syntax errors in all areas of programs. To find the number of paths in a program we can follow 'Cyclomatic Complexity' like if number of paths is 6 then we have to run the program for 6 times to cover all areas of code in a program.

Control Structure Coverage:

After confirmation of the program execution (i.e. program is running without throwing any run time error or syntax error), then programmers concentrate on correctness of input(s) and output(s) of that program. like debugging the code (i.e. running the program line by line)

Program Technique Coverage:

In this technique, programmers calculates the execution speed of the program. If the programmer finds the execution time as unacceptable then he/she may change the program structure without disturbing the functionality.

Mutation Coverage:

After completion of program technique coverage, programmers check the correctness of testing on that program by performing changes in different areas of that program. Here mutation means 'Change in a program' 



Learn Next- Integration Testing