Agile Devops Testing
Agile Devops Testing
Testing
Module 1 – Introduction to Continuous Testing
Automation Strategy
• Understand test categories, levels, test quadrants, and other testing frameworks
• Be able to create and implement a test strategy leveraging automation, BDD, test virtualization, and more
2
Imagine…tests are executed automatically at the push of a
button… …whenever you are ready
Create test cases at the beginning of the development process as an integral part of user story definition.
They are updated throughout the cycle…and executed automatically and frequently…
…to assure production readiness at all times.
…in addition to your suite of manual test cases, “Static Analysis” technologies can be used to
enhance test coverage and automatically verify compliance, security, and technical debt.
Testing Categories
4
Levels of Functional Testing (before release)
Component Similar to Unit level testing but using stubs and drivers
5
Testing Quadrants
Integration Acceptance
System Usability
Combinatorial / Orthogonal Exploratory
Quadrant 2 Quadrant 3
Quadrant 1 Quadrant 4
Performance
Unit Security
Component Compatibility
Static Analysis Compliance
Resiliency
6
Course Outline
7
Thanks for watching!
8
DevOps Testing
Video Education Series
Module 2 – Test Coverage Strategy
Automation Strategy
Test Metrics
2
Seven Software Testing Principles
1. Testing shows presence of defects
2. Exhaustive testing is impossible
3. Early testing
4. Defect clustering
5. Pesticide Paradox
6. Testing is context dependent
7. Absence-of-errors fallacy
http://www.guru99.com/software-testing-seven-principles.html
3
Testing Pillars
DevOps Testing
4
Test Coverage
§ Definition – measure of how much of executable code was tested
Myth: Test coverage = Quality Target
Reality: Test coverage helps find untested
code
5
Test Coverage: Black Box and White Box Testing
§ Black Box Testing – Testing method where the internal structure / design is NOT known to the tester
§ White Box Testing – Testing method where the internal structure / design is known to the tester
Applicable to higher levels of testing Applicable to lower levels of testing
(e.g., acceptance, integration & system) (e.g., mainly unit, component, some integration & system)
User stories / specifications used as basis for test cases Detail design / code used as basis for test cases (inputs, outputs)
6
Testing Quadrants
Integration Acceptance
System Usability
Combinatorial / Orthogonal Exploratory
Quadrant 2 Quadrant 3
Quadrant 1 Quadrant 4
Performance
Unit Security
Component Compatibility
Static Analysis Compliance
Resiliency
7
Test Coverage Strategy using Test Quadrant
Quadrant 2 Quadrant 3
Quadrant 2 Quadrant 3
Quadrant 1 Quadrant 4
Quadrant 1 Quadrant 4
8
How do we know when to start testing?
§ Test begins w hen the project begins
For example: TDD, BDD
10
References
• More Agile Testing by Janet Gregory & Lisa Crispin
• Seven principles of testing: http://www.guru99.com/software-testing-seven-principles.html
• Black Box and White Box Testing
• http://softwaretestingfundamentals.com/black-box-testing
• http://softwaretestingfundamentals.com/white-box-testing
• http://tutorialspoint.com/software_testing_dictionary/black_box_testing.htm
• http://tutorialspoint.com/software_testing_dictionary/white_box_testing.htm
• Orthogonal Array Testing
• https://en.wikipedia.org/wiki/Orthogonal_array_testing
• http://www.softwaretestinghelp.com/combinational-test-technique/
• www.51testing.com/ddimg/uploadsoft/20090113/OATSEN.pdf
11
DevOps Testing
Video Education Series
Module 3 – Functional Test Automation
Automation Strategy
2
Automated Testing Framework
Types of Test Frameworks
Main goal: Facilitate automated testing
3
Modular Testing Framework
§ Independent scripts aligned to module structure of application being tested
4
Data Driven Testing Framework
§ Test input and expected results are stored in a separate file usually in tabular format
§ A single script can execute with multiple sets of data
§ Driver script navigates through program, reads data input and logs test status
Advantage: Reduces the number of test scripts required (over Modular)
Disadvantage: T ight coupling between scripts and data may exist.
5
Keyword Driven Testing Framework
§ Utilizes data tables and self explanatory keywords that describe actions
§ Keyword Driven Testing separates test creation process into two distinct stages:
1. Design & development stage
2. Execution stage
Advantage: Both data and keywords can be reused across scripts providing flexibility
Disadvantage: Increased flexibility can drive complexity
6
Hybrid Testing Framework
§ Combination of modular, data driven and keyword driven frameworks.
§ Data driven scripts can access information provided by keyword driven approach
8
Levels of Functional Testing
Component Similar to Unit level testing but using Stubs and Drivers
9
Testing Tools: Unit & Component
Tools Website
http://abbot.sourceforge.net/doc/api/overview-summary.html
http://junit.org/
Unit Tests
http://www.clarkware.com/software/JUnitPerf.html
Component
http://mockito.org/
Tests
Test drivers & stubs
http://testng.org/doc/index.html
10
Testing Tools: Integration
Tools Website
http://www-03.ibm.com/software/products/en/rtw
http://www.soapui.org/
11
System & Acceptance Testing Tools
Tools Website
http://docs.seleniumhq.org/
System Tests
http://appium.io/
Acceptance Tests
http://cukes.info/
12
References
Testing Frameworks: http://www.cs.colorado.edu/~kena/classes/5828/s12/presentations/testing-frameworks-by-
gayat.html
Acceptance Testing
§http://blog.xebialabs.com/2014/10/23/strategies-effective-acceptance-testing-part/
13
DevOps Testing
Video Education Series
Module 4 – Non-Functional Test Automation
2
Performance Testing
3
Performance Test
DevOps Techniques
Whole team Ownership of:
– Setting performance test priorities
– Developing of user stories to cover performance test
– Creating performance test cases
– Sharing performance findings
– Identifying & resolving performance problems
Performance acceptance criteria defined by stakeholders and covered by test cases
4
Performance Test Tools
Apache JMeter
Rational Performance Tester
Server load simulation
End-to-end system performance
http://jmeter.apache.org/
https://www.youtube.com/watch?v=cv7KqxaLZd8 http://www-03.ibm.com/software/products/en/performance
https://www.youtube.com/watch?v=ZtISOlCQzIw
https://www.youtube.com/watch?v=jhaYEMpKtM4
https://www.youtube.com/watch?v=aenKpQDjjYQ
https://www.youtube.com/watch?v=n_rVR9o-GrY
LoadRunner
End-to-end system performance
http://www8.hp.com/us/en/software-solutions/loadrunner-load-testing/index.html
https://www.youtube.com/watch?v=8L3xagVuTMQ
https://www.youtube.com/watch?v=AicAqUC0K6Q&list=PLFB7DB42D42A7C31C
https://www.youtube.com/watch?v=-kDf9dZzE94&index=2&list=PLFB7DB42D42A7C31C
5
Resiliency Test
DevOps Techniques
– Force failure of application components to simulate real world errors
§ (e.g., Chaos Monkey)
– Ensure ability to remain operational in the event of a failure
§ Consider resiliency options (e.g., static content page, auto-rollback)
§ Instantiate new middleware components seamlessly
– Apply resiliency testing to include monitoring effectiveness and auto-provisioning for recovery
Reference: Design for Cloud and Feature Decoupling modules in the DevOps Development c ourse
6
Resiliency Test Tools
Chaos Monkey
Randomly disables parts of the system to simulate production failures
–https://github.com/Netflix/SimianArmy/wiki/Quick-Start-Guide
–https://github.com/Netflix/SimianArmy/wiki/The-Chaos-Monkey-Army
Hystrix
Latency and fault tolerance library designed to isolate points of access to
remote systems, services and 3rd party libraries
– https://github.com/Netflix/Hystrix
– https://www.youtube.com/watch?v=RzlluokGi1w
7
Compatibility Test
Ensure user interfaces are compatible with commonly used browsers and devices
DevOps Techniques
§Leverage automation for cross platform & device testing
http://www.utest.com/getting-started
8
Compatibility Tools
Browsershots
Test rendering of the same URL across operating systems and browsers
http://browsershots.org/
https://www.youtube.com/watch?v=HQdFXwxOivI
BrowserStack
Test rendering of the same URL across browsers and mobile devices
– iOS, Android and Opera Mobile and Tablet Emulators
https://www.browserstack.com/
https://www.youtube.com/watch?v=yg_5hXSHbVw
Browsera
Locates cross-browser layout problems automatically by comparing each browser's output
– Tests all pages on your site
http://www.browsera.com/
9
Compatibility Test
MobiReady
§Evaluate a website's mobile-readiness using industry practices and standards
http://ready.mobi/
https://www.youtube.com/watch?v=u5VIu-AELS4
SauceLabs Telerik
§ Provides infrastructure to run tests in the § Cross-Platform Mobile Development for iOS,
cloud on more than 260 different browser Android and Windows Phone
platforms and devices
§ Delivers robust mobile analytics and mobile app
https://saucelabs.com/home testing
http://www.telerik.com
https://www.youtube.com/watch?v=OBKU_1OP87U
https://www.youtube.com/watch?v=EpW6QfmBZng
https://www.youtube.com/watch?v=Uz3VDWdFNh0
10
Usability Test
Observe user interactions with a product under controlled conditions to create the best user experience
DevOps Techniques
– Leverage Design T hinking methods:
§ Understand (empathy mapping)
§ Explore (ideation)
§ Prototype (low-fidelity “mock ups”)
§ Evaluate
– Iteration managers align the whole team around user value to include sponsor users
§ Create user stories and determine acceptance criteria
– Conduct usability testing earlier in the lifecycle to generate feedback sooner
– Look for repeatable patterns to automate and maximize automation where possible
11
Usability Tools
CAMTASIA OVO LOGGER
ScreenShare Tool
SameTime,
GoToMeeting,WebEx Extensible observational logging platform that is intended for the
rigors of user-centered design activities in an enterprise
Facilitates moderated remote tests
http://www.ovostudios.com/ovologger.asp
https://www.techsmith.com/camtasia.html
USER TESTING
An online service network of pre-screened testers meeting several specified demographics, or
practitioners can invite their own testers to use the tool, which includes video editing tools.
http://www.usertesting.com/
12
Security Test
Checking for known security vulnerabilities within code components, infrastructure, systems and services.
DevOps Techniques
– Whole team is responsible for security
– Build security acceptance criteria into user stories
– Security tests can be applied at all l evels of testing
– Automate security testing where possible
– Employ static analysis to identify security issues
http://devops.com/2015/04/06/automated-security-testing-continuous-delivery-pipeline/
13
Penetration (PEN) Test
Uses ethical hacking techniques to penetrate an application for the purpose of finding security vulnerabilities
that a malicious hacker could potentially exploit.
DevOps Techniques
– Use monitoring tools and data analytics to identify penetration attacks
§ e.g. SQL injections i dentified by pre-programmed error messages
§ e.g. Monitor for strange l og outputs automated to alert team members
– Consider crowdsourcing for penetration testing
– Leverage automation using vulnerability scanning tools early in the lifecycle
– Utilize development platforms and frameworks that employ current security capabilities
http://devops.com/2015/01/20/devops-need-pay-attention-security/
14
Security & PEN Test Tools
IBM Provides web & mobile application security, application security program management and regulatory compliance
http://www-03.ibm.com/software/products/en/appscan/
https://www.owasp.org/index.php/OWASP_Zed_Attack_Proxy_Project
METASPLOIT by Provides penetration testing in addition to other security & compliance automation solutions
http://www.rapid7.com/products/metasploit/
BURP by
Provides penetration testing in addition to other security testing
https://portswigger.net/burp/
BDD-Security by
Extensible framework for security testing
http://www.continuumsecurity.net/bdd-intro.html
15
Compliance Test
Testing for compliance against prescribed IT standards
DevOps Techniques
– Compliance items should be acceptance criteria for user stories
– Automate the validation of acceptance criteria, if possible
§ Question any compliance item that cannot be automated
– Express compliance requirements in a form that is code-able:
§ Compliance as code
– Automated tests results become the documented proof of compliance
http://devops.com/2014/11/04/automating-away-regulatory-compliance-myth/
http://www.datical.com/can-regulatory-compliance-automated-enterprise-devops/
16
Compliance Tools
Provides web & mobile application security, application security program management and regulatory compliance
http://www-03.ibm.com/software/products/en/appscan/
An automated, enterprise-level compliance management tool can reduce the cost of compliance
http://www.mastercontrol.com/21_cfr_regulations/compliance_management/tools.html
Requirements included as infrastructure code to embed compliance within automated auditing capabilities.
https://www.chef.io/solutions/audit-compliance/
Creates compliance modules tailored for environment regulations and ensures mandates are regularly
checked, variances reported, and when appropriate, reverts non-compliant systems back to known-good-state.
Entire configuration policy is also readable and version controlled to track changing policies.
https://puppetlabs.com/solutions/it-compliance
17
References
§ Performance Test
– https://msdn.microsoft.com/en-us/library/hh917308.aspx
§ Resiliency Test
– Embracing Failure: Fault Injection and Service R esilience at N etflix: https://www.youtube.com/watch?v=9R710ry-Cbo
– Injecting Failure at Netflix: https://www.youtube.com/watch?v=ioXV28GtXeo
§ Compatibility Test
– https://www.youtube.com/watch?v=zIgmkllfT-w
§ Usability Test
– https://design.ibm.com/thinking.html
– http://www.usefulusability.com/14-usability-testing-tools-matrix-and-comprehensive-reviews/
§ Security Test
– http://devops.com/2015/04/06/automated-security-testing-continuous-delivery-pipeline/
– http://devops.com/2015/01/20/devops-need-pay-attention-security/
– https://www.novacoast.com/devop-secops-part-3-continuous-security-in-
action/?utm_content=10777161&utm_medium=social&utm_source=twitter
§ Compliance Test
– http://devops.com/2014/11/04/automating-away-regulatory-compliance-myth/
– http://www.datical.com/can-regulatory-compliance-automated-enterprise-devops/
§ Consulting Firms
– https://www.threatintelligence.com/
18
DevOps Testing
Video Education Series
Module 5 – Test Automation Strategy
Test Metrics
2
Where do we start?
Identify areas • Understand the area of greatest need for testing
for automation • Start there with automation
3
Where should we automate first?
Acceptance Integration
System Acceptance
System Combinatorial / Orthogonal Usability
Exploratory
Automation
Integration Quadrant 2 Quadrant 3
Quadrant 1 Quadrant 4
Component Performance
Unit Security
Component Compatibility
Unit Static A nalysis Compliance
Resiliency
Note: Focus o n Unit – easy to a utomate, q uick feedback, h igh ROI
4
Test Automation Myths
Myth: Test automation is just a matter of purchasing the "right" tool
Reality: Rare that an off the shelf tool will meet all requirements
Reality: Time to train test teams, documenting test cases, learning test tools are sometimes not considered
Testing Pillars
DevOps Testing
6
Strategy Template – Test Automation
Test Recommended Automation Target Automation for
Project
Unit 80-100%
Component 80-100%
System 40-50%
Integration 40-50%
Acceptance 30-50%
Static 80-100%
Combinatorial / Orthogonal 40-50%
Usability 0-10%
Exploratory 0%
Performance 80-100%
Resiliency 80-100%
Compatibility 80-100%
Security/Penetration 80-100%
Compliance 80-100%
7
References
§ Agile Testing by Janet Gregory & Lisa C rispin
§ Test Automation myths: http://www.ibm.com/developerworks/rational/library/10/build-test-automation-around-
rational-quality-manager/
8
DevOps Testing
Module 6 – Acceptance Testing and Behavior-Driven Development
• Behavior Driven Development (BDD) is the ability to code and test knowing the acceptance criteria are in the form of an executable test
• This allows you to execute acceptance testing continually with every new coding change
• Facilitates much more in-depth conversation with stakeholders
2
Behavior Driven Development (BDD)
Before the first line of code is created…
…stakeholders, analysts, developers and testers work to translate feature behaviors into a common language. The resulting
acceptance criteria are then defined in the form of executable tests to run against the code.
Whole team
delivers
Runnable, tested
features
3
BDD: Origins & Aliases
• Acceptance Testing: Uses acceptance criteria to objectively judge if a feature has been correctly implemented
Domain-Driven Design
• Stakeholders represent one or more domains
• Each has a particular jargon or domain language
4
Domain Specific Language: Applied to BDD
A business readable or “common” language facilitating communication across the whole team (roles, individuals)
Example
Gherkin: Describes software’s behavior without detailing
how that behavior is implemented.
* It’s possible to create your own domain-specific languages based on whatever unique criteria:
5
Gherkin Example within Cucumber
6
BDD & DevOps Practices
Test Early!
• Conduct user acceptance tests from the very start
7
BDD Benefits
Living documentation has Reduces communication
Enables more efficient user
acceptance criteria built into barriers between domain
story prioritization
test scenarios experts and team
Domain Experts
8
BDD Tools
Selenium
Browser Automation
Gherkin
Cucumber’s BDD language
https://github.com/cucumber/cucumber/wiki/Gherkin http://jbehave.org/ http://docs.behat.org/en/v2.5/quick_intro.html
9
References
Books
Test-Driven Development ATDD By Example
BDD In Action By Example
by Kent Beck by Markus Gärtner
by John Ferguson Smart
BDD Philosophy
http://pythonhosted.org/behave/philosophy.html
Use Behavior-Driven Development To Make Your Software Development Project More Successful
belatrixsf.com/index.php/whitepapers-successful-project-with-behavior-driven-development
10
Thanks for watching!
11
DevOps Testing
Video Education Series
Module 7 – Test Environment Management
Automation Strategy
Test Metrics
2
Test Environment and DevOps
3
Transient Test Environment
Definition: An environment created for short durations
Self-service Environments: Any authorized person on the team can launch a new environment
4
Transient Test Environment: Tasks & Benefits
Key tasks to achieving benefits
Determine a policy that fits Terminate all environments Create a schedule to run the
your project requirements that exceed the team lease environment termination script
policies
Key benefits
Reduce environment d ependency
Better u se o f resources
5
Capacity Test Environment
Is your application performance sensitive?
§ Use an environment as close to production as possible
§ Aim for stable, reproducible results
§ Isolate environment from other influences
Alternative Techniques
Canary release
Roll out to a subset of servers
Scaling
Run tests on small configurations of servers but be
cautious of just extrapolating results
6
Test Data Management
Practices
7
Test Data Management Considerations
Commit Tests Acceptance Tests
– Avoid elaborate data set up – Data is more complex due to system and integration needs
– Simulate dependencies – Minimize dependency on large data structures as much as possible
– Use the minimum amount of test data to – Use the minimum amount of test data to test the expected behavior
§ Transient Environments
– https://www.ibm.com/developerworks/library/a-devops3/
Automation Strategy
Test Metrics
2
Continuous Integration Test: DevOps Principles
3
Continuous Test Techniques Applied to CI: Automation
4
Continuous Test Techniques Applied to CI: Process
5
Continuous Test Techniques Applied to CI: Technical Capabilities
Use an automated CI Tool that can easily integrate all types/
levels and frameworks of test and can aggregate test results
Once a test fails, you can easily isolate the error and then
trace it back to the offending commit
Ability to trigger defects from your CI tool for ease of integration
with the software delivery lifecycle management process
6
Continuous Test Techniques Applied to CI: Technical Capabilities
7
CI Tools and Automated Test Tools: Integration
Rational
CI Tool/Test Tool Ant xUnit TestNG
Integration Test
Selenium Cucumber
Yes No No No Yes No
9
DevOps Testing
Video Education Series
Module 9 – Incremental Integration & Test Virtualization
– An optimal test strategy finds defects at the earliest point possible, w here they are least expensive to find & fix
– By definition, “incremental testing” i s the partial testing of an i ncomplete product
– “Incremental Integration testing” allows you to find additional defects after unit testing but before a full-blown i ntegration
test where all components are required to be available
– “Test Virtualization” enables you to simulate data & transactions that cannot be made part of the test environment but are
necessary for pre-production testing
2
Integration Test approaches
Top Down
Start with the highest level component and integrate additional components (working
downwards) replacing not-yet-available components with “stubs”, which mimic their behavior
Bottom Up
Starting from the bottom, integrated components until the entire system is complete, not-yet-
available components are replaced by “drivers”
Hybrid
Combinations of available modules are tested. Stubs and drivers can be applied to accelerate
testing until a full integration test can be performed
3
Integration Testing: Top Down
Start with the highest level component and integrate additional components (working
downwards) replacing not-yet-available components with “stubs”, which mimic their behavior
A A A A
B C B C B C B C
D D D D
Under test
Already tested
Stub or driver
Pros Cons
- Early demonstration o f function can h elp validate stakeholder intent - Complex stubs can introduce more e rrors
- Preferred if d efects a re more likely in the top level modules - Cost to create stub -vs- actual module
4
Integration Testing: Bottom Up
Starting from the bottom, integrated components until the entire system is complete, not-
yet-available components are replaced by “drivers”
A A A A
B C B C B C B C
D D D D Under test
Already tested
Stub or driver
Pros Cons
- Preferred if d efects a re more likely in the b ottom level modules - Need to create d rivers (usually e asier than stubs)
- Test conditions a re e asier to create - The e ntire system is subject to the smallest a mount o f test b ecause the top
modules a re included in the tests a t the final stages
- Reduced e ffort in creating stubs
- Deferred a bility to validate stakeholder requirements a t the “UI” level
5
Integration Testing: hybrid
Combinations of available modules are tested. Stubs and drivers can be applied to accelerate
testing until a full integration test can be performed
Testing can occur concurrently – when modules, stubs and drivers are available
Test Framework Test Framework Test Framework Test Framework
A A A A
B C B C B C B C
D D D D Under test
Already tested
Stub or driver
Pros Cons
- It a llows the u se o f top d own a nd b ottom u p a pproaches concurrently - Regression testing is time consuming u nless tests a re a utomated
- It a llows a focus o n the middle tier where the most complex functionality may b e - Cost to create stubs a nd d rivers
6
Considerations for when to apply
Incremental Integration testing
l Does the cost & time to create stubs & drivers outweigh cost of developing the real
components?
l How accurate can / should you be in mimicking real behavior?
l Can you afford to wait for a full system integration test?
l How valuable is early exposure of system functionality to your stakeholders?
l Do you know the value of your test in terms of possible test coverage (based on analysis of
module cohesion & coupling)?
l Can you avoid the “Big Bang”?
7
Why Test Virtualization?
8
Test Virtualization solutions
Application emulation
Virtual components can simulate the behavior of an entire
application or a specific component.
9
Tools & References
IBM Rational Test Workbench
http://www-03.ibm.com/software/products/en/rtwFifth
10
DevOps Testing
Video Education Series
Module 10 – Test Metrics
2
Test Metrics
Results are driven by what you measure and how you measure it
3
Types of Test Metrics
Multiple dimensions:
4
Test Process Effectiveness and Efficiency Metrics
Test Automation
• Measure of the testing team’s • Compares the number of defects
confidence level in the testing identified in different stages of software
efforts executed on a release, lifecycle versus which stage the defects
based on test execution coverage, were created in, with target to be more
expertise of testers, and efficient by finding defects earlier
quantitative results of defects
Production Defects
Functional Product Quality Metrics
Pass / Fail
• Code Coverage – what percent of code and code paths have been tested
• Story Coverage – what percent of user stories relevant to the system
under test been tested
• Menu Coverage – what percent of menu options and combinations /
sequences of menu options have been exercised
Other functional metrics
• Velocity Variance – Predictability of velocity is indicator of ability to meet
acceptance criteria consistently
Non-Functional Product Quality Metrics
Performance
Technical Debt
Deployment Failures
Rate of change among all
indicators
Customer Feedback
Repair Time
https://blog.newrelic.com/2015/04/28/devops-jez-humble/
https://decoupledlogic.wordpress.com/2014/05/31/optimizing-the-software-delivery-pipeline/
http://www.slideshare.net/JAXLondon2014/jax-london-slideshare