TESTING Flashcards
what is software testing?
Software testing is known as a process forvalidating and verifyingthe working of a software/application. It makes sure that the software is working without any errors, bugs, or any other issues and gives the expected output to the user.
what is a test case?
A test case is a defined format for software testing required to check if a particular application/software is working or not.
A test case consists of a certain set of conditions that need to be checked to test an application or software
what are types of testing?
Unit Testing
Integration Testing
System Testing
Acceptance Testing.
what is unit testing?
first level of testing performed by the dev
we test the smallest testable part - units
module or component is tested in isolation
Advantage – Error can be detected at an early stage saving time and money to fix it.
Limitation – modules may work perfectly on isolation but can have issues in interfacing between the modules.
what are units?
Unit testing is a software development process in which the smallest testable parts of an application, called units, are individually and independently tested.
why are modules tested independently?
In unit testing, the individual modules are tested as independent components to ensure that they work correctly and are fit to be assembled/integrated with other components.
when is integration testing performed?
Once individual components are unit tested, integration testing is carried out.
what is integration testing?
it is the second level of testing
individual components of the software are tested in a group.
to expose defects at the time of interaction between integrated components or units.
what is the goal of integration testing?
Unit testing uses modules for testing purpose, and these modules are combined and tested in integration testing.
The Software is developed with a number of software modules that are coded by different coders or programmers. The goal of integration testing is to check the correctness of communication among all the modules.
other names of integration testing?
I and T testing
String testing
Thread testing
what are types of integration testing?
Incremental Testing
Non-incremental testing
what are types of incremental testing?
Top-down Integration
Bottom-Up Integration
Hybrid Integration
what are types of non incremental testing?
Big-Bang Integration
what is top down approach?
The top-down testing strategy deals with the process in which higher level modules are tested with lower level modules until the successful completion of testing of all the modules.
to simulate the behaviour of the lower-level modules that are not yet integrated.
what are stubs?
Stubs are the modules that act as temporary replacement for a called module and give the same output as that of the actual product.
what is drivers?
Calls the Module to be tested.
difference between stubs and drivers?
Stub: Is called by the Module under Test.
Driver: Calls the Module to be tested.
what is bottom up method?
in which lower level modules are tested with higher level modules until the successful completion of testing of all the modules.
tests the lowest components of a code base first
how are modules in bottom up?
modules we are addingare the parent of the previous one
how are modules in top down
module we are adding is thechild of the previous one like Child C is a child of Child B
what is hybrid testing?
also called sandwich integration
combination of the bottom-up approach and top-down approach, so it uses the advantage of both the bottom-up approach and top-down approach.
In this process, top-level modules are tested with lower level modules and lower level modules tested with high-level modules simultaneously.
what is big bang integration?
when the data flow is very complex and when it is difficult to find who is a parent and who is a child.
all the modules are first required to be completed and then integrated. After integration, testing is carried out on the integrated unit as a whole.
what is system testing?
third level of testing
testing of a fully integrated software system.
It aims at determining if the application conforms to its business requirements.
System testing is a series of different type of tests with the purpose to exercise and examine the full working of an integrated software computer system
what is acceptance testing?
final and one of the most important levels of testing on successful completion of which the application is released to production.
what are types of acceptance testing
alpha and beta
what is alpha testing?
When acceptance testing is carried out by testers or some other internal employees of the organization at the developer’s site it is known asalpha testing.
what is beta testing?
User acceptance testing done by end-users at the end-user’s site is calledbeta testing.
what is validation testing
The process of evaluating software during the development process or at the end of the development process to determine whether it satisfies specified business requirements.
We check whether the developed product is right.
Validation is also known asdynamic testing.
Validation Testing ensures that the product actually meets the client’s needs.
what is verification testing?
It is a process of checking the work-products (not the final product) of a development cycle to decide whether the product meets the specified requirements.
static type of testing
We check whether we are developing the right product or not.
does not involve exe of code.
catches errors that validation cant
which is static testing?
verification
which is dynamic testing?
validation
input and output in BB testing?
tester provides an input and an observer observes the output generated by the system under test.
what is black box testing?
In Black Box Testing we just focus on inputs and output of the software systemwithout bothering about internal knowledge of the software program.
how does BB excersises?
end to end
just like end-users “don’t care” how a system is coded and expect to receive an appropriate response to their requests
what are BB testing tech?
equivalence partitioning
boundary value analysis
what is eq partitioning?
a tech where we divide input values into valid and invalid partitions and selecting representative values from each partition as test data
how is eq partitioning applied?
any level of testing
what is the idea behind eq part?
to divide a set of test conditions into groups or sets that can be considered the same hence eq part
in eq part how are input values set into classes for testing?
valid input class
invalid input class
what are guidelines of eq part?
- range condition is given as an input, then one valid and two invalid equivalence classes are defined.*specific value is given as input, then one valid and two invalid equivalence classes are defined.
- member of set is given as an input, then one valid and one invalid equivalence class is defined.
- If Boolean no. is given as an input condition, then one valid and one invalid equivalence class is defined.
when is one valid and one invalid input is given as eq class?
if a Boolean no is given as input
if a member set is given as input
when is one valid and two invalid eq classes are defined?
if a spc value is given
if a range is given
what is boundary value testing?
The behavior at the edge of the equivalence partition is more likely to be incorrect than the behavior within the partition, so boundaries are an area where testing is likely to yield defects.
testing at the extreme ends
for each variable we check?
min
min+1
nominal
max
max-1
what is white box testing
here the internal structure/design/implementation of the item being tested is known to the tester
tester has access to source code
to test software internal logic flow and structure
used to detect logical errors
why use white box testing
to detect logical errors
to debug a code
finding typographical errors
what are tech of white box testing
statement coverage
branch and decision coverage
path coverage
basis path testing
what is statement coverage
all the statements must be traversed at least once
each line of code is tested
every node is traversed at least once
we can identify which statement was exe and which was not
only covers true conditions
what is the formula of statement coverage?
number of statement exe/total no of statements *100
what is branch coverage
covers both true and false conditions
what is formula of decision coverage
number of decision outcomes exe/total number of dec outcomes*100
what is CFG
control flow graph
A control flow graph is a directed graph which represents the control structure of a program or module.
A control flow graph (V, E) has V number of nodes/vertices and E number of edges in it
it has
junction node
decision node
region
what is a junction node
a node with more than one arrow entering it
what is a decision node
node with more than one arrow leaving it
what is a region
area bounded by edges and nodes
what are the formulas of cyclomatic complexity
V(G) = edges - nodes + 2
V(G) = predicate node +1
V(G) = number of internal region + 1
what are predicate nodes
P is the number of connected components
what is an independent path
An independent path in the control flow graph is the one which introduces at least one new edge that has not been traversed before the path is defined.
how to find independent path
cyclomatic complexity
what is condition testing
Condition testing is a test cased design method, which ensures that the logical condition and decision statements are free from errors
what is loop testing
It specifically focuses on the validity of loop construction as Errors often occur at the beginnings and ends of loops.
what are nested loops
Loops within loops are called as nested loops.
Start with inner loop. set all other loops to minimum values.
Conduct simple loop testing on inner loop.
Work outwards.
Continue until all loops tested.
what are concatenated loops
Independent loops, one after another.
what is OOA model?
object oriented analysis model
the first technical activity performed as part of object-oriented software engineering.
what is OOD?
object oriented design model
which testing uses only BB
beta
which testing uses both BB and WB
alpha
what is regression testing?
identify that if there’s any defect in the system due to modification in any other part of the system. It makes sure, any changes done during the development process have not introduced a new defect