Types of Software Testing




Types of Software Testing
In the testing phase a software undergoes various types of testing before it is shipped to the customer About 50 types of testing are available.


Automation Testing
Determines how well a product functions through a series of automated tasks, using a variety of tools to simulate complex test data.



Acceptance Testing
Formal testing conducted to determine whether or not a system satisfies its acceptance criteria - enables a customer to determine whether to accept the system or not.



Alpha Testing
Testing of a software product or system conducted at the developer¶s site by the customer



analysis. 11/3/2010 6 . or evaluation.Automated Testing That part of software testing that is assisted with software tool(s) that does not require operator input.

11/3/2010 7 .Beta Testing Testing conducted at one or more customer sites by the end user of a delivered software product system.

Also known as closed box testing. 11/3/2010 8 .Black-Box Testing Functional Testing based on the requirements with no knowledge of the internal program structure or data.

11/3/2010 9 .Bottom-up Testing An integration testing technique that tests the low level components first using test drivers for those components that have not yet been developed to call the low level components for test.

since ³white boxes´ are considered opaque and do not really permit visibility into the code. This is also known as glass-box or open-box testing. 11/3/2010 10 .Clear-Box Testing Another term for White-Box Testing. Structural Testing is sometimes referred o as clear-box testing.

11/3/2010 11 . across a broad range of hardware and component configurations and when exposed to earlier versions of the product. on certain operating systems.Compatibility Testing Determines how well a product works in conjunction with a variety of other products.

11/3/2010 12 . Clients often want us to test the connection between their web site and database in order to verify data and display integrity.Database Testing Most web sites of any complexity store and retrieve information from some type of database.

11/3/2010 13 .Dynamic Testing Verification or validation performed which executes the system code.

error-prone language constructs. 11/3/2010 14 . either a specified class of faults or all possible faults. and other programming knowledge is applied to select test data capable of detecting defaults.Error-based Testing Testing where information about programming style.

11/3/2010 15 .Exhaustive Testing Executing the program with all possible combinations of values for program variables.

Failure-directed Testing Testing based on the knowledge of the types of errors made in the past that are likely for the system under test. 11/3/2010 16 .

11/3/2010 17 . typically.Fault based testing Testing that employs a test data selection strategy designed to generate test data capable of demonstrating the absence of a set of pre-specified faults. frequent occurring faults.

or as detailed as checking a variety of scenarios and validating that all output meets specified expectations.Functionality Testing Determines the extent to which a product meets expected functional requirements through validation of product features. This process can be as simple as a smoke test to ensure primary functional operation. 11/3/2010 18 .

11/3/2010 19 . localized versions are checked to determine whether particular language translations create failures specific to that language versions.Functional Localization Testing Determines how well a product functions across a range of language.

11/3/2010 20 .Heuristics Testing Another term for fault-directed testing.

11/3/2010 21 .Hybrid Testing A combination of top-down testing combined with bottom-up testing of prioritized or available components.

11/3/2010 22 . or both are combined and tested until the entire system has been integrated.Integration Testing An orderly progression of testing in which the software components or hardware components.

11/3/2010 23 . second-party software and even specific operating systems and factory delivered computer systems. to a deeper extent than compatibility testing.Interoperability Testing Determines. device drivers. how well a product works with a specific cross section of external components such as hardware.

Intrusive Testing Testing that collects timing and processing information during program execution that may change the behavior of the software from its behavior in a real environment. 11/3/2010 24 .

Install Testing Determines how well and how easily a product installs on a variety of platform configurations 11/3/2010 25 .

Load Testing Determines how well a product functions when it is in competition for system resources. I/O activity. 11/3/2010 26 . The competition most commonly comes from active processes. CPU utilization. network traffic or memory allocation.

or evaluation. analysis.Manual Testing That part of software testing that requires operator input. 11/3/2010 27 .

Mutation Testing A method to determine test set thoroughness by measuring the extent to which a test set can discriminate the program from slight variants of the program. 11/3/2010 28 .

Mundane Testing A test that include many simple and repetitive steps. it can be called as Manual Testing 11/3/2010 29 .

Operational Testing Testing performed by the end user on software in its normal operating environment. 11/3/2010 30 .

Path coverage Testing A test method satisfying coverage criteria that each logical path through the program is tested. Paths through the program often are grouped into finite set of classes. one path from each class is tested. 11/3/2010 31 .

Performance Testing Determines how quickly a product executes a variety of events. 11/3/2010 32 . eg: speed. system throughput or latency. This type of testing sometimes includes reports on response time to a user¶s command. Although the word performance has various meanings.

11/3/2010 33 . to demonstrate that the software meets its specified requirements.Qualification Testing Formal Testing usually conducted by the developer for the customer.

The distribution may be arbitrary or may attempt to accurately reflect the distribution of inputs in the application environment. 11/3/2010 34 .Random Testing An essentially black-box testing approach in which a program is tested by randomly choosing a subset of all possible input values.

or to verify that a modified system or system component still meets its requirements.Regression Testing Selective re-testing to detect faults introduced during modification of a system or system component to verify that modifications have not caused unintended adverse effects. 11/3/2010 35 .

and the program is then put through a ³smoke test´. 11/3/2010 36 . Every file is compiled.Smoke Testing It is performed only when the build is ready. arelatively simple check to see whether the product ³smokes´ when it runs. linked. and combined into an executable program every day.

Statement Coverage Testing A test method satisfying coverage criteria that requires each statement be executed at least once. 11/3/2010 37 .

Also called static analysis. 11/3/2010 38 .Static Testing Verification performed without executing the system¶s code.

how well a product functions when a load is placed on the system resources that exceeds their capacity. Either stress testing can also determine the capacity of a system by increasing the load placed on the resources until a failure or other unacceptable product behaviour occurs.Stress Testing Determines. Stress testing can also involve placing loads on the system for extended periods. 11/3/2010 39 . to a deeper extent than load testing.

System Testing The process of testing an integrated hardware and software system to verify that the system meets its specified requirements. 11/3/2010 40 .

This testing is beneficial to products that come together through a series of builds where each step in the development process has the potential to introduce a problem. determine which component is responsible for a certain defect. again through isolation. through isolation.System Integration Testing Determine. which component of a product is the roadblock in the development process. system integration testing is intended to exercise the whole system in realworld scenarios and. System integration testing is also used in systems composed of hardware and software. In essence. 11/3/2010 41 .

Top-down Testing An integration testing technique that test the high-level components first using stubs for lower-level called components that have not yet been integrated and that stimulate the required actions of those components. 11/3/2010 42 .

Unit Testing The testing done to show whether a unit (the smallest piece of software that can be independently compiled or assembled. and tested) satisfies its functional specification or its implemented structure matches the intended design structure. loaded. 11/3/2010 43 .

11/3/2010 44 .White box Testing Testing approaches that examine the program structure and derive test data from the program logic.

11/3/2010 45 . ActiveX controls. It is important to test across a large number of these to ensure that users with diverse config don¶t experience problems when using the web site or application. Java applets. Currently there are over 100 possible combinations of different windows operating systems and various versions of NE and IE browsers. JavaScript. forms and frames. This testing typically exposes problems with plug-ins.Web site Testing Compatibility Testing ± compatibility testing tests your web site across a wide variety browser/operating system combinations.

clip art and factual text. 11/3/2010 46 .Web Site Testing Content Testing ± Content Testing verifies a web site¶s content such as images.

Web site Testing Database Testing ± Most web sites of any complexity store and retrieve information from some type of database. 11/3/2010 47 . Clients often want us to test the connection between their web site and database in order to verify data and display integrity.

which is repetitive in nature. testing java applets. transaction verification for e-commerce and databases. For testing.Web site Testing Functionality Testing ± Funtionality testing ensures that the web site performs as expected. an automated test tool such as Rational¶s Visual Test can be used to decrease the overall duration of a test project. 11/3/2010 48 . Typical examples of this type of testing include link checking. form testing. file upload testing and SSL verification. The details of this testing will vary depending on the nature of your web site.

Web site Testing Performance Testing ± Performance Testing measures the web site performance during various conditions. or they risk losing their user to a competitor site that 11/3/2010 serves pages more quickly. Eight Second Rule ± Every page within a web site must load in eight seconds or less. we can run performance tests at the same time as stress and load tests. When the conditions include different numbers of concurrent users. even for users on slow modem connections. 49 .

Examples of server side testing include testing the interaction between a web and an application server. checking database integrity on the database server itself.Web site Testing Server Side Testing ± Server side testing tests the server side of the site. rather than the client side. verifying that ASP scripts are being executed correctly on the server and determining how well a web site functions when run on different kinds of web servers. 11/3/2010 50 .

Web site Testing Stress and Load Testing ± Load Testing. to generate accurate metrics based on overall system load and server configuration. 11/3/2010 51 . such as Segue¶s SilkPerformer. To perform this type of testing use sophisticated automated testing tools. verifies that a web site can handle a particular number of concurrent users while maintaining acceptable response times. a subset of stress testing.

Thank You 11/3/2010 52 .