Sie sind auf Seite 1von 5

Testing is the process of executing a program with the intent of finding errors

People make errors. A good synonym is mistake. This may be a syntax error or misunderstanding of specifications. Sometimes, there are logical errors. When developers make mistakes while coding, we call these mistakes bugs. A fault is the representation of an error, where representation is the mode of expression, such as narrative text, data flow diagrams, ER diagrams, source code etc. Defect is a good synonym for fault. A failure occurs when a fault executes. A particular fault may cause different failures, depending on how it has been exercised. Test and Test case terms are used interchangeably. In practice, both are same and are treated as synonyms. Test case describes an input description and an expected output description The set of test cases is called a test suite. Hence any combination of test cases may generate a test suite Verification is the process of evaluating a system or component to determine whether the products of a given development phase satisfy the conditions imposed at the start of that phase. Validation is the process of evaluating a system or component during or at the end of development process to determine whether it satisfies the specified requirements .

Testing= Verification+Validation Alpha Tests are conducted at the developers site by some potential customers. These tests are conducted in a controlled environment. Alpha testing may be started when formal testing process is near completion. Beta Tests are conducted by the customers / end users at their sites. Unlike alpha testing, developer is not present here. Beta testing is conducted in a real environment that cannot be controlled by the developer. Black Box Testing: Is a testing performed on functional part of application without having knowledge of structural part of the application(coding and logic) .usually testing engineers involves White Box Testing: Is a testing on structural part of the application. Usually Developers or white box testers involes Gray box Testing: Is a testing on both structural and functional part of the application. Usually Testing engineers who has knowledge of programming logic will involve. Unit Testing: Unit is small part of the application, usually it is a program. Each program developed and separately tested, sometimes the program is mixed with other programs and tested. White box testers Performs this testing.

Module Testing: Module is a group of related features to perform a Task. Once the module is developed then it is released for the testing by testing department. This module under go for functional test i.e. Black Box test Integration Testing: Interfaces are used to linking the modules. Interface will be developed by Developers and those interfaces will be tested and then related modules will be linked and then tested This testing under White Box Testing System Level Testing: Testing engineers will conduct testing on entire System(Application).There are different types of System Testings are there 1 System Integration Testing In this type of testing, testing engineers performs various actions on some module and then observes the reflections or reactions on other modules. 2 User Acceptance Testing

In this testing , testing engineers performs testing on some areas of the application which are related to the user in the presence of the user in order to make him to accept the application., this is under black box testing 3 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. 4 Regression Testing:

Testing the application as a whole for the modification in any module or functionality. Difficult to cover all the system in regression testing so typically automation tools are used for these testing types. 5 Sanity Testing: Testing to determine if a new software version is performing well enough to accept it for a major testing effort. If application is crashing for initial use then system is not stable enough for further testing and build or application is assigned to fix 6 End to End Testing:

Similar to system testing, involves testing of a complete application environment in a situation that mimics real-world use, such as interacting with a database, using network communications, or interacting with other hardware, applications, or systems if appropriate.

Performance Testing:

Similar to system testing, involves testing of a complete application environment in a situation that mimics real-world use, such as interacting with a database, using network communications, or interacting with other hardware, applications, or systems if appropriate .

Usability Testing:
User-friendliness check. Application flow is tested, Can new user understand the application easily, Proper help documented whenever user stuck at any point. Basically system avigation is checked in this testing.

Comparison Testing: Comparison of product strengths and weaknesses with previous versions or other similar products.

Dynamic Testing
Dynamic Testing detects errors that can be in the program. Here, we write test cases to execute some conditions and parts of the program. Success depends on number of test cases and test coverage. However there is a possibility that all possible paths can not be executed and hence, many paths in program are uncovered and also, errors are undetected.

Static Testing:
Static testing is the process of evaluating a system or component based on its form, structure, content or documentation (without computer program execution). Static Testing involves analysis of program or its representation in some form. Unlike dynamic testing, it does not involve execution of code and also, there is no need to write test cases.

Path Testing:
Path Testing is the name given to a family of test techniques based on judiciously selecting a set of test paths through the program. If the set of paths are properly chosen then we have achieved some measure of test thoroughness. For example, pick enough paths to assure that every source statement has been executed at least once. Path testing techniques are the oldest of all structural test techniques. Path testing is most applicable to new software for unit testing. It is a structural technique. It requires complete knowledge of the program's structure(Code) It is most often used by programmers to unit test their own code. The effectiveness of path testing rapidly deteriorates as the size of the software aggregate under test increases.

Transactional Flow Testing:


A transaction is an elementary process which is a smallest unit of activity that is meaningful to the user(s)and is self-contained and leaves the business of the application in a consistent state. Based on the primary intention, a transaction can be classified as External Input (EI) External Output (EO) External Query (EQ) Each transaction has the beginning (birth) and the termination (death). External Input (EI) if it is an elementary process that has capability to accept the data or control information that enters the application boundary and its primary intention is to move the data either to alter the behavior of the system or to maintain the data in the systems storage External Output (EO) if it is an elementary process and its primary intention move the data is to prepare and present information outside the boundary along with performing at least one of the operations that involve perform mathematical operations or update data storage or create derived data or alter the behavior of the system. External Query (EQ) if it is an elementary process and its primary intention move the data is to prepare and present information outside the boundary and it shall not perform any mathematical operations or shall not update data storage or shall not create derived data or shall not alter the behavior of the system.

Data Flow Testing:


Data flow testing strategies are family of test strategies to track programs control flow in order to explore sequences of events related to status of data objects caused by creation, usage, modification or destruction with the intention of identifying any data anomalies. What is data flow Data flow is an abstract representation of the sequence and possible changes of state of data objects,where the state of an object is any of creation (created); used: used or modified; destruction (killed). Data flow structure follows the trail of a data item as it is accessed and modified by the code. Using Data flow, one can understand how the data acts as they are transformed by the program and also, defects like referencing a variable with an undefined value and variables that are never used can be identified.

Domain Testing:
For a set of input values a program is expected to show a identical behavior. Here that program works as if it is input data classifier. This chapter discusses on different techniques for classifying input data and their application to test interfaces, integration, and software design for testability. It also discuses limitation on each technique used in domain testing.

Das könnte Ihnen auch gefallen