The most important aspect is
AGILE Is a Cyclical approach that
solves one problem at time COMUNICATION
PHASES
Agile Methodology Analysis
Life of the software from
SDLC
Cyclical process in which the project is Design
divided into phases, and each one involves its planning to its Development
phases of clarification, development and mantinance Testing
evaluation Deployment
Mantinance
Why use it?
Saves resources (money and time)
Testing agile sequence that
STLC PHASES
Quality is the responsibility of all the team
Integrates testing and development ensures the quality goals
provide continuous feedback are reached
Analyze requirements
Elaborate a Test Plan
Design scenarios and
test cases
BDD
Process in which we create
Los Tres Amigos scenarios explaining a situation. Set the test
Improves the comunication
environment
PO -> Explain what the system should do Execute Test Cases
Developer -> Develop the system based on what
Test Clousure
the PO requests
Tester -> Test the system
SYNTAXIS - GERKING
Given - Precondition
When - Steps
Then - Result
Write it before programming
Should be short
Use declarative steps
Uses Agile Methodology
AUTOMATION A process that uses
software to test The automation has its own team that
The goal of agile testing is
provide continuous feedbakc
TESTING
develops the framework that will test te
another software application, for this needs to use agile
to manage that team
Why automation? What automate? When not automate?
Saves time and money (not in a short time) Functional tests (regresion, smoke test happy
Quick results paths) New features
Increase the coverage Performance Inconsistent features
Repetitive tasks Complex UI functionalities
Crytical scenarios
Time consuming scenarios
BENEFICTS DISADVANTAGES
Efficience Tools and
How automation CATCH bugs?
Reduce test infrastructure When a bug is found we automate it, if it
execution time expensive appears again is easy to find it
Less people Requires an
Scripts are specialized training
reusable Mantenance is required
Reports and metrics Levels of testing
Generated at the end of execution. Database (not common)
It has to be understandable for API (tests business
the customer. What report?:
logic)
Time test execution
UI (tests the
Coverage
Number of bugs interaction between
Historial of passed and failed the user and the app)
Mobile
TEST Action plan for a
STRATEGY given situation Higher cost of
mantinance
Slow to execute
UI Inconsistent scenarios
Agile testing quadrants FUNCTIONAL Pyramid of
Low cost
More coverage API
Use it to understand what we need and who we
need. It tells us the approach to take if we
PATTERNS testing Less people
Feedback on
UNIT TEST
early stage
want:
Critique the product
support the team
Business facing
Technology facing Automation Myths
Know what to automate and what has to be
manual
ANTI-PATTERNS Automation full replace
X There are test that
manual can't be automated
MANUAL
More complex
Require more
mantinance
Is time consuming X Yes at the beginning, once the
environment is prepared, saves time
X
E2E Less ROI Requires more
Pyramid of testing Is easy
API preparation
Functional vs Non-functional
Software functioning correctly Test non-functional aspects of the SW
UNIT
Only regression X Also tests smoke,
sanity, BDD, etc
Maily Withe-box Maily Black-box
Provides quick ROI X It is reflected in long
time
Cupcake MANUAL
Double work
API No comunication
Levels:Unt test, integration,
acceptance
Levels: Performance, security,
usability, compatibility UNIT BEST PRACTICES
Focus: the system meets the Focus: How the system meets the
Write code that other persons can
requirements requirements
understand
API is not
UI being tested
Hour glass
SERVICE We are not Less code better, no add unusefull lines
testing the
Test all the application UNIT
E2E
integration of
Test a big workflow the app
Read the official documentation
Interacts with a lot of
features Document the code
Explain to yourself the code