Manual Testing
Introduction
IT Market - Romania, 2018
● Romania, 13th position
● Skills and lower costs
● 20.000 IT&C companies
● 100 large players
● 12.000 new open positions annually
Attractive employers
● Friendly environment ● Secure jobs
● Flexible working time ● Challenging projects
● Training programs ● Fast promotion opportunities
● Good reputation ● Creative environment
Organization
The system being produced will tend to
have a structure that mirrors the structure
of the group that is producing it!
Organization
Assumption Reality
● Software development ● NEVER ENDING set of
means repeating a series decisions which are executed
by every individual on the
of steps using specific
team, leading to missed
processes, no conflict
delivery goals and ambiguity.
expectations, good
engineering.
Organization
● Several projects, different engineering teams
How is this tied to a whole structure?
● Project format
● Functional format
Project format
● Development people are grouped based on the
project they work.
● Engineers are part of the project from beginning
until completion.
Functional format
● Development people are grouped based on the
functional staff they belong to.
● Individuals are moved from one project to another
based on current needs, performing on different
phases of the project.
Organization key roles
Project Manager
organises resources in order to make sure that
delivery goals are completed.
Organization key roles
Development Manager
manages the development team considering technical
responsibilities.
Organization key roles
Team Leader
making sure that the team is delivering software
according to expected standards.
Organization key roles
Business Analyst
responsible for defining new features and project
scope.
Organization key roles
QA Manager
in charge of assigning and scheduling testing tasks, set
up the quality standards, specifications and
procedures.
Organization key roles
Developer
in charge for the solution implementation.
Organization key roles
Tester
ensure that the software meets the client
requirements, by performing specification
analysis, writing test plans and running tests.
Organization key roles
DevOps Engineer
manages the IT infrastructure required by
the implemented software.
Organization key roles
Support Engineer
responding to customer issues, as well as
troubleshooting them.
Software development life cycle (SDLC)
● Requirement gathering and analysis
● Design
● Implementation or coding
● Testing
● Deployment
● Maintenance
SDLC gone wrong
Software testing life cycle
● Requirement Analysis
● Test Planning
● Test Case Development
● Environment Setup
● Test Execution
● Test Closure Activities (reporting, evaluation)
What means testing?
Activity that validates the fact that the
current functionality of a product is
according to the requirements provided by a
customer.
What means testing?
Testing is made to find information. Critical
decisions will be made based on this
information.
Why is it important?
Bugs can be expensive and dangerous, lots
of examples in history.
Epic bugs
1962 - $18.5 million lost when
NASA's Mariner spacecraft
blasted off 4:55 minutes after
take off.
Epic bugs
1990 - AT&T lost $60 million, long
distance service down due to relay
switches software update.
Epic bugs
1994 - Intel lost $475 million
due to bad math calculations.
Epic bugs
1998 - NASA lost $125
million, different units of
measurement for Mars
Climate Orbiter.
Epic bugs
1985 - changing a radiation therapy tool
mode caused unfiltered X-rays to be sent to
patients, causing deaths.
Epic bugs
1991 - 28 soldiers died
when Patriot missile
failed to intercept Iraqi
Scud missile due to bad
time accuracy.
Why bugs appear
● Frequent software changes
● Incomplete or inexistent requirements
● Low testing skills
● Lack of experience
● Software complexity
● Communication gaps
● Timelines
Bug prevention
If you understand bugs, there is
no need to fight them!
Bug prevention
● Improved communication
● Close requirement tracking
● Demo of small software pieces
● Unit testing
Who is the tester?
● Role of a tester goes beyond just testing and
finding bugs.
● Responsible of the test process, it works with all
parts involved in the project in order to build and
improve the software.
Who is the tester?
Testers should ‘light the way’ for all the parts involved
in a project - where they are, what obstacles are
ahead, how close is the finish line.
Who is the tester?
Your clients:
● Project manager
● Programmer
● Technical writer
● Technical support
● THE USER
Who is the tester?
The person who focuses on failure in order to help the
customer focus in making the product more
successful.
How?
● everyone creates something, you want to break it
○ it improves the chances of finding the failures
● How?
○ test things that are changed often
○ test core functions
○ test common situations
○ test common threats
○ test high impact problems
○ test most wanted areas
Testers think differently
● are they negative people?
● do they complain OR they offer evidence?
● they like to break things OR they remove the illusion that things work?
● they are excited to deliver bad news OR they are happy to remove the customer false
beliefs?
How?
● gather and validate proofs
● take good decisions
● think under pressure
● identify patterns
● learn, learn, learn
Think like a tester
● Testing is in your head: your choices, your ability to
interpret evidences, your storytelling skills.
● Be a good tester by thinking like one, not looking
like one.
Think like a tester
Great testers are thinking creatively, practically,
critically and technically. Learn to think that things
may not be as they seem.
Think like a tester
You need to explore in order to test. Work with it, get
into it. Exploring it involves a lot of thinking: forward,
backward and lateral.
Testing principles
● Testing shows the presence of bugs
● Exhaustive testing is impossible
● Early testing
● Defect clustering
● The pesticide paradox
● Testing is context dependent
● Absence of errors fallacy
References
● Manual testing tutorial
○ https://www.guru99.com/manual-testing.html
● SDLC
○ https://stackify.com/what-is-sdlc/
● STLC
○ https://www.guru99.com/software-testing-life-cycle.html
● Tester skills
○ https://www.testing-whiz.com/blog/15-skills-every-software-tester-should-mast
er-in-2017
Questions?