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



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

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.Black-Box Testing Functional Testing based on the requirements with no knowledge of the internal program structure or data. 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.

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

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

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 .Database Testing Most web sites of any complexity store and retrieve information from some type of database.

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

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

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.

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

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 .

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

device drivers.Interoperability Testing Determines. second-party software and even specific operating systems and factory delivered computer systems. to a deeper extent than compatibility testing. how well a product works with a specific cross section of external components such as hardware. 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. 11/3/2010 26 . The competition most commonly comes from active processes. network traffic or memory allocation. I/O activity. CPU utilization.

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

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.

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

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

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

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

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.

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.

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 .

linked.Smoke Testing It is performed only when the build is ready. arelatively simple check to see whether the product ³smokes´ when it runs. and the program is then put through a ³smoke test´. Every file is compiled. 11/3/2010 36 . 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.Static Testing Verification performed without executing the system¶s code. 11/3/2010 38 .

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

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. 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. through isolation. determine which component is responsible for a certain defect. In essence.System Integration Testing Determine. again through isolation. 11/3/2010 41 . System integration testing is also used in systems composed of hardware and software.

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

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

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

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

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.

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

49 . 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. 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. even for users on slow modem connections.Web site Testing Performance Testing ± Performance Testing measures the web site performance during various conditions.

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

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

Thank You 11/3/2010 52 .

Sign up to vote on this title
UsefulNot useful