0% found this document useful (0 votes)
44 views

Software Testing

The document discusses software testing including the differences between verification and validation, static and dynamic testing, test levels from unit to acceptance, test strategies and types, principles of testing, tester career paths and goals of a software tester.

Uploaded by

Komal
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
44 views

Software Testing

The document discusses software testing including the differences between verification and validation, static and dynamic testing, test levels from unit to acceptance, test strategies and types, principles of testing, tester career paths and goals of a software tester.

Uploaded by

Komal
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 36

Software Testing

Verification versus Validation

■ Verification: Are we building the product right?


■ Validation: Are we building the right product?

■ Software Verification: The process of evaluating software to determine whether


the products of a given development phase satisfy the conditions imposed at the
start of that phase.
■ Software Validation: The process of evaluating software during or at the end of
the development process to determine whether it satisfies specified
requirements
https://www.youtube.com/watch?v=qxitgylm1EU
The Tests

Tests show:
■ Errors
■ Compliance with requirements
■ Performance
■ An indicator of quality
Who runs the tests?

■ Developer
– It includes the operation of the system. It is oriented towards the delivery of the product.
It tests the system at very high level.

■ Tester
– He must understand the operation of the system. He tries to defeat the system. It is
oriented rather towards the quality of the product.
Test Validation

■ Validation is a process by which one or more programs are executed in


a system (hardware and software) to verify that it meets the
requirements and to detect bugs before delivery of the product.
What is Testing?

■ Testing is the process of showing that a program correctly performs its specification.

■ Testing is the process of finding the maximum number of errors in a program.

■ Testing is the process of showing that a program achieve the quality requirements.
https://www.youtube.com/watch?v=TDynSmrzpXw
Software errors, faults and failures

■ Bug / fault / fault as a result of human errors resulting


in non-compliance and manifesting as a failure during
execution (system reliability / availability).
Defect, error, bug, failure and fault

■ Difference between defect, error, bug, failure and fault:


“A mistake in coding is called error ,error found by tester
is called defect, defect accepted by development team
then it is called bug ,build does not meet the
requirements then it is failure.”
Test Methods

■ Static tests
– Test without running the application by program review
– Code review, cross-reading, analysis of anomalies, ...

■ Dynamic tests
– Test by running the application
– Structural tests, functional tests
Test Levels

■ Unit / Componente
■ Integration
■ Functional Validation (System)
■ Acceptance
Test Levels - Unit / Componente

■ Objective: To demonstrate that each module performs all the intended function and
only this function.
■ Logic tests (error search, verification of the correct sequence of branches traveled);
■ Calculation tests (verification of the results of calculations, the accuracy of the
algorithms).
Test Levels - Integration

■ Objective: To demonstrate the correct functioning of functional units consisting of an


assembly of modules.

■ Verification of inter-module linkages, data flow, dynamic aspects, predicted event


sequences and interruption restarts.
Test Levels - Functional Validation (System)

■ Objective: To ensure that the software installed in the hardware meets the functional
specifications by checking in particular the general functions and the interfaces of
the software.
■ Confirms that the system as a whole meets hardware and software requirements
and requirements, real-time operation, performance, use and allocation of
resources.
■ Often black box test
■ Done when integration is completed
Test Levels - Acceptance

■ Made by customers to confirm that the software meets their needs


■ Contractual
■ Linked to the payment
Strategy, Techniques and Types of Tests
■ Bottom-up approach ■ Exploratory
■ Top-down approach ■ Based on risk
■ Black Box ■ Equivalence or Parallel Class
■ White Box ■ Exhaustive Testing
■ Gray box ■ Boundary Value Analysis
■ Simulation ■ Cause-effect diagram
■ Alpha / Beta tests ■ Automatic
■ Forced Error ■ Manual
Seven Principles of Testing
Principle 1 Testing shows presence of defects

Principle 2 Exhaustive testing is impossible

Principle 3 Early Testing

Principle 4 Defect Clustering

Principle 5 Pesticide Paradox

Principle 6 Testing is context dependent

Principle 7 Absence of errors - fallacy


https://www.guru99.com/software-testing-seven-principles.html
What are the main objectives for a
the testing activities?

Source: ISTQB® Worldwide Software Testing Practices Report 2015 - 2016


In which region do you currently work?

Source: ISTQB® Worldwide Software Testing Practices Report 2015 - 2016


Who is responsible for the software testing?

Source: ISTQB® Worldwide Software Testing Practices Report 2015 - 2016


Who is responsible for the software testing?
■ In-house means software development performed by employees of the company that is
paying for development.
■ Insourcing means software development performed by employees of a third-part provider
who performs the task on-site.
■ Outsourced means software development performed by employees of a different company
that is paying for development. Outsourced development frequently stills requires an in-
house employee to oversee the outsourced development.
■ With those concepts, you can extend to the geographic location of the developers.
– On-shore/distributed development means that the developers are located in the same
geography of the company that is paying for the development.
– Off-shore development means that the developers are located in a different geography,
and more specifically in a different country, than the company that is paying for the
development.
– near-shore development means that the developers are located in nearby country, often
sharing a border with the target country.
Which skills does the industry expect from testers?

Source: ISTQB® Worldwide Software Testing Practices Report 2015 - 2016


What is your job title?

Source: ISTQB® Worldwide Software Testing Practices Report 2015 - 2016


Which Career Path is more
Common for a Tester?

Source: ISTQB® Worldwide Software Testing Practices Report 2015 - 2016


What could be the next level in the
career path for a Test Manager?

Source: ISTQB® Worldwide Software Testing Practices Report 2015 - 2016


To whom does the test team report?

Source: ISTQB® Worldwide Software Testing Practices Report 2015 - 2016


To which industry are you going to work?

Source: ISTQB® Worldwide Software Testing Practices Report 2015 - 2016


What percent of a typical IT/ R&D project
budget is allocated to software testing?

Source: ISTQB® Worldwide Software Testing Practices Report 2015 - 2016


Segmentation by Industry

Source: ISTQB® Worldwide Software Testing Practices Report 2015 - 2016


What is your expectation for software
testing budget in the next 12 months?

Source: ISTQB® Worldwide Software Testing Practices Report 2015 - 2016


Which Software Development Lifecycle
(SDLC) model are you using?

Source: ISTQB® Worldwide Software Testing Practices Report 2015 - 2016


Assignment # 2_Part 1

■ 1. Go to:
https://www.toolsqa.com/software-testing/difference-between-verification-and-validation/
■ A) In an office word make a template (2X2) and explain with your own words the difference
between Verification and Validation.
■ B) Go to the links in the same reading and using another template explain with your own
words the differences between Static testing and Dynamic testing.
■ 5. Read A Look at the Software Tester Career Path and and answer the following
questions:
https://blog.gurock.com/software-tester-career-path/
■ A) As a software tester do you have the opportunity to transition into different roles…
Which ones? Which one catches your attention the most?
■ B) What do people with more experience in a testing company do?
■ C) With your own words, what is formal organizational leadership?
■ D) What is the most important task for a tester? Why?
■ 6. Now read Top 7 Major Goals of A Software Tester and answer the following
questions:
https://www.softwaretestinghelp.com/goals-of-a-software-tester/
■ In some lines define each of the 7 major goals of a software tester.
■ 7. In one or two lines explain each one of the seven principles of testing.
https://www.guru99.com/software-testing-seven-principles.html

You might also like