Академический Документы
Профессиональный Документы
Культура Документы
Software testing also helps to identify errors, gaps or missing requirements in contrary to
the actual requirements. It can be either done manually or using automated tools. Some prefer
saying Software testing as a white box and Black Box Testing.
In April 2015, Bloomberg terminal in London crashed due to software glitch affected more than
300,000 traders on financial markets. It forced the government to postpone a 3bn pound debt
sale.
Nissan cars have to recall over 1 million cars from the market due to software failure in the
airbag sensory detectors. There has been reported two accidents due to this software failure.
Starbucks was forced to close about 60 percent of stores in the U.S and Canada due to
software failure in its POS system. At one-point store served coffee for free as they unable
to process the transaction.
Some of the Amazon’s third-party retailers saw their product price is reduced to 1p due to a
software glitch. They were left with heavy losses.
Vulnerability in Window 10. This bug enables users to escape from security sandboxes through
a flaw in the win32k system.
In 2015 fighter plane F-35 fell victim to a software bug, making it unable to detect targets
correctly.
China Airlines Airbus A300 crashed due to a software bug on April 26, 1994, killing 264
innocents live
In 1985, Canada's Therac-25 radiation therapy machine malfunctioned due to software bug and
delivered lethal radiation doses to patients, leaving 3 people dead and critically injuring 3
others.
In April of 1999, a software bug caused the failure of a $1.2 billion military satellite
launch, the costliest accident in history
In May of 1996, a software bug caused the bank accounts of 823 customers of a major U.S. bank
to be credited with 920 million US dollars.
Functional Testing.
Non-Functional Testing.
Maintenance Testing.
1|Page
Name: VISHAL SAROJ GUPTA
Maintenance Regression
Maintenance
Functional testing is a software testing process used within software development in which
software is tested to ensure that it conforms to all requirements. Functional testing is a way
of checking software to ensure that it has all the required functionality that's specified
within its functional requirements.
1. Unit Testing: Unit testing of software applications is done during the development
(coding) of an application. The objective of Unit Testing is to isolate a section of
code and verify its correctness. In procedural programming a unit may be an individual
function or procedure. The goal of Unit Testing is to isolate each part of the program
and show that the individual parts are correct. Unit testing is usually performed by
the developer.
2. Integration Testing: In integration testing, individual software modules are
integrated logically and tested as a group. A typical software project consists of
multiple software modules, coded by different programmers. Integration Testing
focuses on checking data communication amongst these modules. Hence it is also termed
as 'I & T' (Integration and Testing), 'String Testing' and sometimes 'Thread Testing'.
3. Smoke Testing: SMOKE TESTING, also known as “Build Verification Testing”, is a type of
software testing that comprises of a non-exhaustive set of tests that aim at ensuring
that the most important functions work. The result of this testing is used to decide
if a build is stable enough to proceed with further testing.
4. User Acceptance Testing: In software development, user acceptance testing (UAT) - also
called beta testing, application testing, and end user testing - is a phase of
software development in which the software is tested in the "real world" by the
intended audience.
5. Localization: Localization testing is the software testing process for checking the
localized version of a product for that particular culture or locale settings. The
areas affected by localization testing are UI and content.
6. Globalization: A product is said to be globalized when that particular product can be
run independent of its geographical and cultural environment. This type of testing
technique validates whether the application can be used all over the world that
accepts all the language texts.
7. Interoperability: Interoperability testing is a type of testing to check whether
software can inter-operate with other software component, software's or systems.
Non-functional testing is the testing of a software application or system for its non-functional
requirements: the way a system operates, rather than specific behaviors of that system.
2|Page
Name: VISHAL SAROJ GUPTA
Study of Reviews:
Review is a way of static testing technique done before dynamic testing. Review is manual
examination of software work product (including code) without execution of software and make
comments about it. Review is mostly a manual activity but there is some tool support also.
Review can be performed on any of the software works like requirement specification, design
specification, code, test plans, test specification, test cases, test scripts, user guides or
web pages. Typical defects that are easier to find in review than in dynamic testing are
deviation from standards, requirement defects, design defects, insufficient maintainability
and incorrect interface specifications.
3|Page
Name: VISHAL SAROJ GUPTA
Testing Framework:
A framework is nothing but a set of protocols or rules that can be incorporated to leverage
the benefits provided by the framework. A software testing framework provides an environment
for the automation test scripts to be executed. With the use of framework, users can efficiently
work with the automation test scripts, including development, execution, and reporting.
However, there are situations when there is a requirement of a standard framework for test
automation. This happens in a situation where there are multiple modules of an application and
there are many developers who have their own idea of implementing automation. A single framework
can help in avoiding any confusion arising due to multiple ideas.
Modular Framework: Modular framework is like creation of small, independent scripts that
represents modules, sections and functions of the application under test. These small
scripts are then used in a hierarchical fashion to construct larger test for a particular
test case.
Keyword-driven Framework: Keyword Driven Framework is a type of Functional Automation
Testing Framework which is also known as Table-Driven testing or Action Word based
testing. The basic working of the Keyword Driven Framework is to divide the Test Case
in to four different parts.
Data-driven Framework: Data-driven is a test automation framework which stores test data
in a table or spread spreadsheet format. This allows automation engineers to have a
single test script which can execute tests for all the test data in the table. In this
framework, input values are read from data files and are stored into a variable in test
scripts. Ddt (Data Driven testing) enables building both positive and negative test
cases into a single test.
Hybrid Framework: Hybrid Test framework is a concept where we are using the advantage
of both Keyword and Data driven framework. About Implementation of the same at the time
of creating of framework need to take care of all test objects those are not going to
be changed in application should be hardcoded and most frequently changing objects should
be taken from the data sheet.
Test Documents:
1. Test Plan: A document describing the scope, approach, resources and schedule of intended
test activities. It identifies amongst others test items, the features to be tested, the
testing tasks, who will do each task, degree of tester independence, the test
environment, the test design techniques and entry and exit criteria to be used, and the
rationale for their choice, and any risks requiring contingency planning. It is a record
of the test planning process.
A. Master test plan: A test plan that typically addresses multiple test levels.
B. Phase test plan: A test plan that typically addresses one test phase.
2. Test Scenario
A Test Scenario is any functionality that can be tested. It is also called Test Condition
or Test Possibility. As a tester, you may put yourself in the end user’s shoes and figure
out the real-world scenarios and use cases of the Application under Test.
3. Test Case
4|Page
Name: VISHAL SAROJ GUPTA
A TEST CASE is a set of conditions or variables under which a tester will determine
whether a system under test satisfies requirements or works correctly.The process of
developing test cases can also help find problems in the requirements or design of an
application.
4. Traceability Matrix
6. Test Log
The test case log documents different test cases for a particular test type to be
executed during testing. It also records the results of the tests, which provides the
detailed evidence for the test log summary report and enables us to reconstruct the
test, if necessary
7. Test Summary
Test summary report is a formal document that summarizes the results of all testing
efforts for a particular testing cycle of a project / module or a sub module. Generally,
test leads or test managers prepare this document at the end of testing cycle. Some test
managers prepare it at the end of project.
5|Page