6. Engage
• Take the time to understand the specific
business areas - see what they do
• Locate the subject matter experts - learn
• Talk to developers, testers, BA’s and people in
the business – gauge the environment
• Add value
7. Understand The Company
• Develop a good understanding of what your
company produces and how this is being
delivered
8. Address Constraints
In every endeavour constraints exist and must
be addressed:
• Resource – make the best of what you have
• Time – find more efficient ways to deliver
• Cost – work effectively within a budget
• Organisational change/adaptability – support the
business to help them through change
9. Examine Risk Areas
Using a risk based test approach:
• Finance – disruption of incoming/outgoing
funds
• Statutory reporting
• Data protection
• Loss of reputation – failed campaigns, failed IT
systems
• Failure of service delivery
10. What does risk cost?
In 2012 an untested update was
made to RBS’s payment application causing
chaos to thousands of people.
It cost RBS £125 million.
11. Testing focus
Do a test review:
1) Check that there is a defined approach to
testing (unit, functional, non functional)
2) Check that it is repeatable
3) Check that it is measurable
4) Document (electronic format) how testing is
achieved – manual or automation scripts
12. Review Current Testing
• Review code test coverage
• Confirm that unit testing is taking place
• Review testing practices - is BDD*, TDD** being used?
• Quality issues often start at the code level, and additional
rigour may be required around the delivery process
• Review test scripting practice
• Review what exploratory testing is done
• Review BAU*** testing
*BDD Behavioural Driven Development, **TDD Test Driven Development, BAU – Business As Usual
13. Review Business As Usual
Review current testing for BAU
• Work with users to understand the
applications
• Understand how HR, CRM, Finance and other
applications are supported and tested
• Create a regression test set if one does not
exit (create scenarios and scripts)
• Idenitfy a clear process for upgrading
applications
14. Using a BDD Test Approach
• Behaviour-driven development is a way to focus
on how the system is used and to tie testing to a
more real world definition that people
understand:
• Given that a situation is true
• When I take an action
• Then an event takes place
15. Structure for Stories
• Title (one line describing the story)
•
• Narrative:
• As a [role]
• I want [feature]
• So that [benefit]
•
• Acceptance Criteria: (presented as Scenarios)
•
• Scenario 1: Title
• Given [context]
• And [some more context]...
• When [event]
• Then [outcome]
• And [another outcome]...
16. Executable Specifications
• Turn requirements/stories into executable
specifications using tools if appropriate
• This can be achieved via constructs like
Cucumber and Gherkin where stories can be
turned into automated tests in BDD format
17. Environments and Deployment
Make sure that there is a suitable process
defined to allow easy deployment of code and
environments for testing and production
18. Build and CI Process
• Review the build process to confirm it is
robust
• Clarify whether Continuous Integration (CI) is
appropriate
• Start to gauge the quality standard
19. Work with people to solve issues
Help people to focus on the job they are good
at:
• Redress the balance of testing work
undertaken by BA’s and Developers
20. Project delivery
How are requirements turned into deliveries?
• Look at an agile approach to delivering
requirements – small pieces of the puzzle
• Look at the advantages of working as
collaborators (Dev, Test, BA) working as one
group – scrum based approach
21. Track Defects
It is important to record and resolve issues
found in testing:
• Log
• Track
• Resolve
• Report Metrics
There will always be bugs!
22. Automate regression testing
• Turn manual test scripts into automation where
appropriate
• Automate repetitive tasks where possible
• Build automation as part of delivering code
• Determine what level of quality suits your
organisation – get it to work with you and not
against you
• Use continuous integration to verify the product
23. Make Sure Exceptions Are Logged
How are exceptions handled in applications?
• Confirm that exceptions are being logged
• Investigate whether a monitoring process is
required
• Review support processes to confirm they
provide required information
24. Summary
• Create a Test Strategy
• Review unit level and functional testing, test scripting
• Review BAU
• Apply BDD, TDD test practice
• Apply agile practice to requirement delivery
• Rebalance testing work across the teams
• Resolve issues around deployment/environments/build
• Use test automation where appropriate
• Track issues and resolve – Exception Handling
• Use testing tools to assist in testing API/GUI/Packages
• Work as a team to deliver a better product
25. Holistic
QA as a function does far more than test code.
• It looks at why things are done
• It looks at how people do those things
• It looks to increase productivity and decrease
errors
• It is an essential part of the SDLC
• It looks at the whole to determine where
things can be improved