1/87
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced |
|---|
No study sessions yet.
Software Testing
a method to check whether the actual software product matches expected requirements and to ensure that software product is defect free
functional testing
non-functional / performance testing
maintenance
types of software testing
Functional Testing
This type of testing verifies that each function of the software application works in conformance with the specified requirements and specifications. It focuses on what the system does, testing software by providing appropriate inputs and comparing the actual output with the expected output.
Non-Functional Testing
This type of testing assesses non-functional aspects of the software, such as performance, usability, reliability, and scalability. It verifies how well the system behaves under certain conditions rather than what the system does, focusing on parameters like speed, responsiveness, and stability rather than specific behaviors or functions
Maintenance
ensure that changes or updates made to the software—such as bug fixes, enhancements, or adaptations—do not introduce new defects and that the software continues to perform as expected after modifications.
unit testing
This software testing
basic approach is
followed by the
programmer to test the
unit of the program. It
helps developers to
know whether the
individual unit of the
code is working properly
or not.
Integration testing
It focuses on the
construction and design
of the software. You
need to see that the
integrated units are
working without errors or
not.
System testing
In this method, your
software is compiled as
a whole and then tested
as a whole. This testing
strategy checks the
functionality, security,
portability, amongst
others.
Automation test engineer
a job where you will be
responsible for
automating manual test
case execution which
otherwise could be time-
consuming.
Performance test engineer
a job where you will be
responsible for checking
application responsiveness (time is
taken to load, maximum
load application can
handle), etc.
ISTQB
basic level certification in the testing field
Exhaustive testing is not possible
Defect Clustering
Pesticide Paradox
Testing shows a presence of defects
Absence of Error
Early Testing
Testing is context dependent
7 principles of software testing
SDLC
it is a sequence of activities carried out by developers to design and develop high-quality software
STLC
consists of a series of activities carried out by testers methodologically to test software product
Entry Criteria
criteria that gives the prerequisite items
that must be completed
before testing can begin.
Exit criteria
criteria that definesthe items that must
be completed before testing
can be concluded
Requirements phase testing
also known as the requirements analysis in which test team studies the requirements from a testing point of view to identify testable requirements
Test case development phase
includes the creation, verification, and rework of test cases and test scripts after the test plan is ready
Test Environment Setup
decides the software and hardware conditions under which a work product is tested.
Test Execution Phase
is carried out by the testers in which testing of the software build is done based on test plans and test cases prepared.
Test Cycle Closure
completion of the test execution which involves several activities like test completion reporting, collection of test completion matrices and test results.
Manual testing
type of software testing where test cases are executed manually by a tester without automated tools
Test Case
is a set of actions executed to verify particular features or functionality
Test Scenario
is any functionality that can be tested
Positive test cases
ensure that users can perform
appropriate actions when using valid data.
Negative test cases
are performed to try to “break” the
software by performing invalid (or unacceptable)
actions, or by using invalid data.
Automated testing
is a software testing technique that performs using special
automated testing software tools to execute a test case suite.
Test Execution
Automation Scripts are executed during this phase. The scripts need input test data before there are set to run. Once executed they provide detailed test reports.
Test Automation Maintenance Approach
is an automation testing phase
carried out to test whether the new functionalities added to the software are
working fine or not.
Data driven automation
Keyword driven automation
Modular automation
Hybrid automation
4 types of framework used in automation
Data Driven Automation Framework
input values are read from data files
and stored into variables in test scripts.
Keyword Driven Automation Framework
uses data files to contain the
keywords related to the application being tested.
Modular Automation Framework
the approach where all the test cases are first analyzed to find out the reusable flows. Then while scripting, all these reusable flows are created as functions and stored in external files and called in the test scripts wherever required.
Hybrid automation
combination of data driven and keyword driven
measure metrics
type of software testing where individual units or components of a software are tested
white box testing
what type of testing technique is unit testing usually performed by the developer
black box
white box
gray box
unit testing techniques
black box testing
involves testing of user interface along with input and output
white box testing
involves testing the functional behavior of the software application
gray box testing
used to execute test suites, test methods, test cases, and performing risk analysis
code coverage
is a measure which describes the degree of which the
source code of the program has been tested.
integration testing
type of testing where software modules are integrated logically and tested as a group, it focuses on checking data communications amongst modules in a program
Big bang testng
is an Integration
testing approach in which all the
components or modules are
integrated together at once and
then tested as a unit.
Incremental Testing
testing is done by integrating two or more modules that are logically related to each other and then tested for proper functioning of the application. Then the other related modules are integrated incrementally and the process continues until all the logically related modules are integrated and tested successfully.
has 2 methods:
bottom up
top down
stubs and drivers
are the dummy programs in Integration testing used to
facilitate the software testing activity. These programs act as a substitutes for
the missing models in the testing. They do not implement the entire
programming logic of the software module but they simulate data
communication with the calling module while testing.
Bottom-up Integration Testing
is a strategy in which the lower level
modules are tested first. These
tested modules are then further
used to facilitate the testing of
higher level modules. The process
continues until all modules at top
level are tested.
Top-down Integration Testing
is a method in which integration
testing takes place from top to
bottom following the control flow of
software system. The higher level
modules are tested first and then
lower level modules are tested and
integrated in order to check the
software functionality. Stubs are
used for testing if some modules
are not ready.
Sandwich testing / Hybrid Integration testing
is a strategy in
which top level modules are tested
with lower level modules at the
same time lower modules are
integrated with top modules and
tested as a system.
System testing
a level of testing that validates the complete and fully integrated software product, the purpose of this test is to evaluate the end to end system specification, falls upon the black box testing category
acceptance testing
beta testing of the product done by the actual end users
usability testing
mainly focuses on the user’s ease to use the
application, flexibility in handling controls and ability of the system
to meet its objectives
Load Testing
is necessary to know that a software solution will
perform under real-life loads.
Regression Testing
involves testing done to make sure none of the
changes made over the course of the development process have
caused new bugs. It also makes sure no old bugs appear from the
addition of new software modules over time.
Recovery testing
is done to demonstrate a software solution is
reliable, trustworthy and can successfully recoup from possible
crashes.
Migration testing
is done to ensure that the software can be
moved from older system infrastructures to current system
infrastructures without any issues.
Functional Testing
involves trying to think of any possible
missing functions. Testers might make a list of additional
functionalities that a product could have to improve it during
functional testing.
Hardware/Software Testing
This is when the tester focuses his/her
attention on the interactions between the hardware and software
during system testing.
smoke testing
is a software testing technique performed post software build to verify that the critical functionalities of software are working fine. It is executed before any detailed functional or regression tests are executed. its purpose is to reject a software application with defects so that QA team doesn’t waste their time on a broken system
Sanity testing
is a kind of Software Testing performed after receiving a software build, with minor changes in code, or functionality, to ascertain that the bugs have been fixed and no further issues are introduced due to these changes. The goal is to determine that the proposed functionality works roughly as expected
regression testing
type of software testing to confirm that a recent program or code change has not adversely affected existing features
Retesting
means testing the functionality or bug again to ensure the
code is fixed. If it is not fixed, Defect needs to be re-opened. If fixed,
Defect is closed.
Non-functional testing
a type of software testing to check non-functional aspects of a software application, designed to test readiness of systems as per nun functional parameters
test documentation
documentation of artifacts created before or during the testing of software
Test policy
It is a high-level
document which
describes principles,
methods and all the
important testing
goals of the
organization
Test strategy
A high-level document which identifies the Test Levels
(types) to be executed for the project.
Test plan
A test plan is a complete planning document which contains the scope, approach, resources, schedule, etc. of testing activities.
Requirements Traceability Matrix
This is a document which connects the requirements to the test
cases. is a document that maps and traces user requirements with test cases
Test Scenario
Test scenario is an item or event of a software system
which could be verified by one or more Test cases.
Test case
It is a group of input values, execution preconditions, expected
execution postconditions and results. It is developed for a Test
Scenario.
Test Data
data which
exists before a test is executed.
It used to execute the test
case.
Defect Report
is a
documented report of any
flaw in a Software System
which fails to perform its
expected function.
Test summary report
is a high-level document which
summarizes testing activities conducted as well as the
test result
scenario testing
is a method in which actual scenarios
test case
set of actions executed to verify a particular feature developed for specific test scenario to verify any requirement
test analysis
is a process of checking and analysing the test artifacts in order to base the test conditions or test cases
Requirements analysis / requirements gathering
This phase contains
detailed communication
with the customer to
understand their
requirements and
expectations.
functional specification
Based on the output from the
Requirements Analysis, the
system is designed at the
functional level.
high level documents
architectural specifications are understood and designed in this phase
detail design documents
the detailed internal design for all the system modules is specified
Traceability Matrix
is a document that corelates any two baseline documents that require a many-to-many relationship to check the completeness of the relationship.
forward traceability
backward traceability
bi-directional traceability
types of traceability matrix
forward traceability
This matrix is used to check whether the project progresses in the desired direction and for the right product. It makes sure that each requirement is applied to the product and that each requirement is tested thoroughly.
backward traceability
It is used to ensure whether the current product remains on the right track. The purpose behind this type of traceability is to verify that we are not expanding the scope of the project by adding code, design elements, test or other work that is not specified in the requirements.
Bi-directional traceability
this traceability matrix ensures that all requirements are
covered by test cases. It analyzes the impact of a
change in requirements affected by the Defect in a
work product and vice versa.
performance testing
is the type of testing which is performed in order to determine how fast system responds under a particular work load
security testing
is the process that determines if an information system protects data from malicious intent
DTM Test Data generator
is a fully customizable utility tool that generates data, tables
(views, procedures etc) for database testing purposes
Datatect
is a SQL data generator by Banner Software, generates a variety of realistic test data in ASCII flat files or directly generates test data for RDBMS including Oracle, Sybase, SQL Server, and Informix..