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.