Upload
venu-kongara
View
218
Download
0
Embed Size (px)
Citation preview
8/13/2019 Testing Basic Questions
1/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 misunderstandingof 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 asnarrative 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 howit has been exercised.
Test and Test case terms are used interchangeably. In practice, both are same and are treated assynonyms. 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 testsuite
Verification is the process of evaluating a system or component to determine whether the products of agiven 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 developmentprocess to determine whether it satisfies the specified requirements .
Testing= Verification+Validation
Alpha Tests are conducted at the developers site by some potentialcustomers. These tests areconducted in a controlled environment. Alpha testing may be started when formal testing process is nearcompletion.
Beta Tests are conducted by the customers / end users at their sites. Unlike alpha testing, developer isnot present here. Beta testing is conducted in a real environment that cannot be controlled by thedeveloper.
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.
8/13/2019 Testing Basic Questions
2/5
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.
8/13/2019 Testing Basic Questions
3/5
7 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.
8 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.
9 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.
8/13/2019 Testing Basic Questions
4/5
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 theprimary 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.
8/13/2019 Testing Basic Questions
5/5