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



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

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

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

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. Structural Testing is sometimes referred o as clear-box testing. 11/3/2010 10 .Clear-Box Testing Another term for White-Box Testing. This is also known as glass-box or open-box testing.

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

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

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

Error-based Testing Testing where information about programming style. 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-prone language constructs. 11/3/2010 14 .

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

11/3/2010 16 .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.

frequent occurring faults.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. typically. 11/3/2010 17 .

11/3/2010 18 . This process can be as simple as a smoke test to ensure primary functional operation. 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.

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

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

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

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 22 .

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

11/3/2010 24 .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.

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. CPU utilization. I/O activity. network traffic or memory allocation. 11/3/2010 26 . The competition most commonly comes from active processes.

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

11/3/2010 28 .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.

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

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

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

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

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

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

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. or to verify that a modified system or system component still meets its requirements. 11/3/2010 35 .

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

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

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

to a deeper extent than load testing. Stress testing can also involve placing loads on the system for extended periods. 11/3/2010 39 . how well a product functions when a load is placed on the system resources that exceeds their capacity.Stress Testing Determines. 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.

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.System Integration Testing Determine. In essence. system integration testing is intended to exercise the whole system in realworld scenarios and. which component of a product is the roadblock in the development process. 11/3/2010 41 . System integration testing is also used in systems composed of hardware and software. through isolation. again through isolation.

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 .

loaded.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. 11/3/2010 43 .

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

11/3/2010 45 .Web site Testing Compatibility Testing ± compatibility testing tests your web site across a wide variety browser/operating system combinations. Java applets. ActiveX controls. Currently there are over 100 possible combinations of different windows operating systems and various versions of NE and IE browsers. This testing typically exposes problems with plug-ins. 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. JavaScript. forms and frames.

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.

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

For 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 Functionality Testing ± Funtionality testing ensures that the web site performs as expected. form testing. testing java applets. transaction verification for e-commerce and databases. Typical examples of this type of testing include link checking. 11/3/2010 48 . an automated test tool such as Rational¶s Visual Test can be used to decrease the overall duration of a test project. which is repetitive in nature.

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

checking database integrity on the database server itself.Web site Testing Server Side Testing ± Server side testing tests the server side of the site. Examples of server side testing include testing the interaction between a web and an application server. 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 . rather than the client side.

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

Thank You 11/3/2010 52 .

Sign up to vote on this title
UsefulNot useful