Software Testing Fundamental Dictionary

Software Testing
Fundamental Dictionary

Adam Hendra Brata

Agenda :
Type of Testing
 Software Testing Keywords








2

Test Case
Test Scenario
Validation and Verification

Software Testing Fundamental

Type of Testing

3

Testing Types


Manual Testing




Automated Testing


4

Manual testing includes testing a software manually, i.e.,

without using any automated tool or any script. In this type,
the tester takes over the role of an end-user and tests the
software to identify any unexpected behavior or bug.
Automation testing, which is also known as Test
Automation, is when the tester writes scripts and uses
another software to test the product. This process involves
automation of a manual process. Automation Testing is used
to re-run the test scenarios that were performed manually,
quickly, and repeatedly.

Manual Testing








5


The key concept of Manual Testing is to ensure that the
application is error free and it is working in conformance
to the specified functional requirements.
Test Suites or cases ,are designed during the testing
phase and should have 100% test coverage.
It also makes sure that reported defects are fixed by
developers and re-testing has been performed by testers
on the fixed defects.
Basically, this testing checks the quality of the system and
delivers bug-free product to the customer.
One of the Software Testing Fundamental is "100%
Automation is not possible".

Automation Testing







6

Manual testing is performed by a human sitting in
front of a computer carefully executing the test steps.
Automation Testing means using an automation tool
to execute your test case suite.
The automation software can also enter test data
into the System Under Test , compare expected
and actual results and generate detailed
test reports.
Goal of Automation is to reduce number of test
cases to be run manually and not eliminate manual
testing all together.

Manual vs Automated

7

Manual vs Automated


8

Software Testing Keywords
Test Case & Test Scenario
9

Test Case


Test Case






10

Test case is a concept which provides detailed information

what to test, steps to be taken and expected result of the
same
A test case is a document, which has a set of test data,
preconditions, expected results and postconditions,
developed for a particular test scenario in order to verify
compliance against a specific requirement.
Test case acts as the starting point for the test execution,
and after applying a set of input values, the application has
a definitive outcome and leaves the system at some end
point or also known as execution postcondition.

Test Case


Typical Test Case Parameters:














11

Test Case ID
Test Scenario
Test Case Description
Test Steps
Prerequisite
Test Data
Expected Result
Test Parameters
Actual Result
Environment Information

Comments

Test Case


Test Case Example





12

Let us say that we need to check an input field that can
accept maximum of 10 characters.
While developing the test cases for the above scenario, the
test cases are documented the following way. In the below
example, the first case is a pass scenario while the second
case is a FAIL.
If the expected result doesn't match with the actual result,

then we log a defect. The defect goes through the defect life
cycle and the testers address the same after fix.

Test Case
Actual
Outcome
Verify that the
Login to
Application
Application
input field that application and should be able to accepts all 10
can accept
key in 10
accept all 10
characters.
maximum of 10 characters
characters.
characters
Scenario


Verify that the
input field that
can accept
maximum of 11
characters
13

Test Step

Login to
application and
key in 11
characters

Expected Result

Application
should NOT
accept all 11
characters.


Application
accepts all 10
characters.

Test Scenario


Test Scenario






14

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.
Scenario Testing is a variant of Software Testing where
Scenarios are Used for Testing. Scenarios help in an Easier
Way of Testing of the more complicated Systems

Test Scenario


Why create Test Scenarios ?









15

Creating Test Scenarios ensures complete Test Coverage
Test Scenarios can be approved by various stakeholders
like Business Analyst, Developers, Customers to ensure the
Application Under Test is thoroughly tested. It ensures that
the software is working for the most common use cases.
They serve as a quick tool to determine the testing work
effort and accordingly create a proposal for the client or
organize the workforce.
They help determine the most important end-to-end
transactions or the real use of the software applications.
For studying the end-to-end functioning of the program, Test
Scenario is critical.

Test Scenario


Test Scenarios may not be created when





16

The Application Under Test is complicated, unstable and
there is a time crunch in the project.
Projects that follow Agile Methodology like Scrum, Kanban
may not create Test Scenarios.
Test Scenario may not be created for a new bug fix or
regression testing. In such cases, Test Scenarios must be
already heavily documented in the previous test cycles. This
is especially true for Maintenance projects.

Test Scenario


17

As a tester, you can follow these five steps to create Test Scenarios
– Step 1: Read the Requirement Documents like BRS, SRS, FRS, of
the System Under Test (SUT). You could also refer uses cases,
books, manual, etc. of the application to be tested.
– Step 2: For each requirement, figure out possible users actions
and objectives. Determine the technical aspects of the
requirement. Ascertain possible scenarios of system abuse and
evaluate users with hacker's mindset.
– Step 3: After reading the Requirements Document and doing your
due Analysis, list out different test scenarios that verify each
feature of the software.
– Step 4: Once you have listed all possible Test Scenarios, a
Traceability Matrix is created to verify that each & every
requirement has a corresponding Test Scenario
– Step 5: The scenarios created are reviewed by your supervisor.
Later, they are also reviewed by other Stakeholders in the project.

So, what’s the difference ?


Test Case is ‘How to be tested’ and Test Scenario is
‘What to be tested’




18

A test case is a set of conditions or variables under which a
tester will determine whether an application, software
system or one of its features is working as it was originally
established for it to do.
Scenario testing is to make sure that end to end
functionality of application under test is working as
expected. Also check if the all business flows are working
as expected. In scenario testing tester need to put his/her
foot in the end users shoes to check and perform the action
as how they are using application under test.

So, what’s the difference ?


19

Simple Example (1)

So, what’s the difference ?


20

Simple Example (1)

So, what’s the difference ?


Simple Example (2)
Test Scenario

21

So, what’s the difference ?


Simple Example (2)

Test Case

22

Software Testing Keywords
Validation & Verification
23

Validation & Verification



24

Still remember the first Testing Level slide ?
What’s the difference between validation and
verification ?

Validation & Verification


Validation and Verification


In other words, software verification is ensuring that the product
has been built according to the requirements and design
specifications, while software validation ensures that the product
meets the user's needs, and that the specifications were correct in
the first place. Software verification ensures that "you built it right".
Software validation ensures that "you built the right thing". Software
validation confirms that the product, as provided, will fulfill its
intended use.



Verification is testing that your product meets the specifications /
requirements you have written. “Did I build what I said I would?”.
Validation tests how well you addressed the business needs that
caused you to write those requirements. It is also sometimes called
acceptance or business testing. “Did I build what I need?”

Validation & Verification


Simple Example





26

Consider following specification
A clickable button with name Submet
Verification would be check the design doc and correcting
the spelling mistake.
Otherwise development team will create button like

Validation & Verification


Simple Example





27

So new specification is
A clickable button with name Submit
Once the code is ready, Validation is done. A Validation test
found
Owing to Validation testing, the development team will make
the submit button clickable

Software Testing Keywords
Software Testing Fundamental
28

Software Testing Fundamental

29

When to Start and Stop Testing ?


When to start






An early start to testing reduces the cost and time to rework
and produce error-free software that is delivered to the
client, read the first slide (why we do test ?)
However in Software Development Life Cycle (SDLC),
testing can be started from the Requirements Gathering
phase and continued till the deployment of the software.
It also depends on the development model that is being
used.


30

For example, in the Waterfall model, formal testing is
conducted in the testing phase; but in the incremental model,
testing is performed at the end of every increment/iteration and
the whole application is tested at the end.

When to Start and Stop Testing ?


When to stop


It is difficult to determine when to stop testing, as testing is a
never-ending process and no one can claim that a software
is 100% tested. The following aspects are to be considered
for stopping the testing process:







31

Testing Deadlines
Completion of test case execution
Completion of functional and code coverage to a certain point
Bug rate falls below a certain level and no high-priority bugs
are identified
Management decision

Software Testing Fundamental

32

Who did the Software Testing ?


Who did the testing ?






It depends on the process and the associated stakeholders
of the project(s).
For example in the IT industry, large companies have a
team with responsibilities to evaluate the developed
software in context of the given requirements.
In most cases, the following professionals are involved in
testing a system within their respective capacities:






33

Software Tester
Software Developer
Project Lead/Manager
End User

Thank You

34