S/W Testing Types

Software Testing Types:
White box testing:

This testing is conducted based on knowledge of the internal logic of an application’s code. This is also known as Glass box Testing / Open Box Testing / Clear Box Testing. The testers should know the internal code of the application. Tests are based on coverage of code statements, branches, paths, conditions.

Unit testing:
Testing is conducted on individual components or modules. This test is conducted by the Developers or whiterbox testers,as this requires detailed knowledge of the internal program design and code.

Integration testing:
Testing is conducted by 2 or more modules / systems to verify combined functionality after integration. Modules are typically code modules, individual applications, client and server applications on a network, etc. This type of testing is especially relevant to client/server and distributed systems.

Incremental integration testing:
Testing is conducted in Bottom up approach; continuous testing of an application as new functionalities are added; Application functionalities and modules should be independent enough to test separately.

Black box testing:
Testing the application without not considered about the internal design of the system.Testing is conducted based on requirements and functionality.

Functional testing:
This type of testing is conducted to ensure the application is working as per the business requirements and the internal logic of the code is ignored.This type of test is conducted as part of blackbox testing

System testing:
The Entire system is tested as per the Business requirements. Black-box type testing that is based on complete requirement specifications, covers all combined parts of a system.

End-to-end testing:
Similar to system testing,testing is conducted on the complete application environment in a situation that resembles like application used in production, such as interacting with a database, using network communications, or interacting with other hardware, applications, or systems if appropriate.

Sanity testing:
Testing to determine if the new build is stable, all the major functionalities are working correct. usually conducted as First test when ever the build is released. During this test all the major functionalities are tested.if any major functionality fails and if showstopper the testing is stoped and reported to development as serious issue.

Regression testing:
Testing the application as a whole for the changes done in the application. Test is conducted to ensure the changes are working correct and because of these changes unchanged code is not affected.

ReTesting:
The the application functionality once again with different type of input data to validate the functionalities as per the requirements.

Acceptance testing:
This type of testing is done to verify the system meets the customer specified requirements. Business Users or customer do this testing to determine whether to accept application.

Performance testing:
Test is conducted the check the peformance of the system to complete the transaction, performance of the system can the checked by conducting Load, Stress, Volume,Soak testing..

Load testing:
It is a performance testing to check system behavior under load.This test is conducted by increasing the load on the system and check the performance.

Stress testing:
System is stressed beyond its specifications to check how and when it fails. Performed under heavy load like putting large number beyond storage capacity, complex database queries, continuous input to system or database load.

Volume Testing:
This test is conducted by increasing the volume of data for processing and check the Performance.

soak Testing:
check the performance of the application by continiously accessing the application for more number of hours.

Usability testing:
This is to check the User-friendliness of the application. The flow of the application is tested and check new user can understand the application easily, Proper help documented are provided. The application is easy to use, look and feel and navigations are simple to understand..etc

Concurrent Testing:
Check the behaviour of the application when multiple users access the same functionality of the application at the same time.

Exploratory Testing:
This testing is an approach to software testing that is concisely described as simultaneous learning, test design and test execution.Exploratory testing has always been performed by skilled testers.Exploratory testing is particularly suitable if requirements and specifications are incomplete, or if there is lack of time. The approach can also be used to verify that previous testing has found the most important defects. It is common to perform a combination of exploratory and scripted testing where the choice is based on risk

Adhoc Testing:
Ad hoc testing is a commonly used term for software testing performed without planning and documentation.The tests are intended to be run only once, unless a defect is discovered. Ad hoc testing is a part of exploratory testing, being the least formal of test methods

Install/uninstall testing:
This test is conducted for full, partial, or upgrade install/uninstall processes on different operating systems under different hardware, software environment.This test is conducted to ensure after install /uninstall of the application the existing sytem is not affected like performance, affecting other softwares..etc

Recovery testing:
check wheather the system can recover the data from failures.Security testing Can system be penetrated by any hacking way. Testing how well the system protects against unauthorized internal or external access. Checked if system, database is safe from external attacks.

Compatibility testing:
Testing is conducted to check the application works on different platforms / different browsers / different versions of browser (for web application). Test is also conducted to check the backward and forward comaptibility

Alpha testing:
In house Testing environment is created for this type of testing. Testing is done at the end of development by the Business users. Still minor design changes may be made as a result of testing status.

Beta testing :
Testing typically done by end-users or others. Final testing before releasing application for commercial purpose.

I18N Testing:
Testing the application for different international languages, check the application testing is successfull for the following items
  • help information
  • help search information
  • images
  • code templates
  • flat text files
  • font names and sizes
  • date, time, and number formatting
  • collation
  • examples

Localization Testing

Localization is the process of adapting a globalized application to a
particular culture/locale. The following needs to be considered in localization testing:
  • Things that are often altered during localization, such as the UserInterface and content files.
  • Operating System
  • Keyboards
  • Text Filters
  • Hot keys
  • Spelling Rules
  • Sorting Rules
  • Upper and Lower case conversions
  • Printers
  • Size of Papers
  • Mouse
  • Date formats
  • Rulers and Measurements
  • Memory Availability
  • Voice
  • User Interface language/accent
  • Video Content

Comments