5
Improve speed without rushing software out the door Challenge for Testers: not just to be a good tester but also be able to engineer the process and take advantage of advanced automation practices. Testing needs to ‘’shift left”: Testing is starting to be done by developers more frequently. QA professionals are still doing manual work, but they’re trying to automate the process as well. Our Maturity Model Key areas in Continuous Testing Risk Assessment. Defect Casual Analysis. Code Quality Control. Traceability. Test Optimization. Service Virtualization. Key benets Control risks, quality and costs Determine current gaps in maturity Focus on the areas that matter Assessing Your Continuous Testing Capabilities: Testing in a Continuous Delivery world abstracta.us P6.1

TESTING IN A CONTINUOUS DELIVERY WORLD · quality, lack of documentation, dead or duplicated code, doesn't follow best practices in design or architecture, complex code (spaghetti),

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: TESTING IN A CONTINUOUS DELIVERY WORLD · quality, lack of documentation, dead or duplicated code, doesn't follow best practices in design or architecture, complex code (spaghetti),

Improve speed without rushing software out the door

Challenge for Testers: not just to be a good tester but also be able to engineer the process and take advantage of advanced automation practices.

Testing needs to ‘’shift left”: Testing is starting to be done by developers more frequently.QA professionals are still doing manual work, but they’re trying to automate the process as well.

Our Maturity Model

Key areas in Continuous Testing

Risk Assessment.Defect Casual Analysis.Code Quality Control.Traceability.Test Optimization.Service Virtualization.

Key benefits

Control risks, quality and costsDetermine current gaps in maturityFocus on the areas that matter

Assessing Your Continuous Testing Capabilities:Testing in a Continuous Delivery world

abstracta.usP6.1

Page 2: TESTING IN A CONTINUOUS DELIVERY WORLD · quality, lack of documentation, dead or duplicated code, doesn't follow best practices in design or architecture, complex code (spaghetti),

TESTING MATURITY ASSESSMENT

PEOPLE

PROCESSESTECHNOLOGY

Goals / Context

LEVELS (risks, quality, costs)

Basic

Areas

Efficient Continuous

Assessment Action Plan

Tools & Methodologies

THE THREE PILLARS OF TESTING MATURITY

abstracta.usP6.1

Page 3: TESTING IN A CONTINUOUS DELIVERY WORLD · quality, lack of documentation, dead or duplicated code, doesn't follow best practices in design or architecture, complex code (spaghetti),

abstracta.us

FUNCTIONALTESTS

AUTOMATEDTESTS

PERFORMANCETESTS

SECURITYTESTS

USABILITYTESTS

SOURCECODE

INCIDENTS/BUGS

TESTMANAGEMENT

ENVIRONMENT/INFRASTRUCTURE

Source code versioning

- UI automation- Unit testing with minimal coverage

- Unit testing- Automated API tests

Usability testing

BASIC TESTING EFFICIENT TESTING CONTINUOUS TESTINGAware of risks, quality

and costs are measuredRisks, quality, and

costs are controlledRisks are reduced, quality and costs are optimized

MANDATORY RECOMMENDED OPTIONAL

- Basic test management- Test planning with development

Basic tests of access control policies

- Separate dev/testingenvironments

- Few devices/browsers arecovered

- Functionality inventory (backlog)- Traceability between test cases and

features- Test cases, checklists, exploratorytesting

Bug tracking

Unit, API, and UI automated tests running continuously

CONTINUOUS INTEGRATION /CONTINUOUS DELIVERY

OWASP Top 10 pen testing

- Test design techniques- Tests are prioritized

- Testing before development- Impact analysis

Defect causal analysis

User testing

- Test data management- Full device/browser coverage- Virtual servers

- Test environment management- Containers- Service virtualization

Traceability between features, issues, and code

Performance tests running continuously

Accessibility testing

- Long-term code coveragestrategy

- Agile management- Testing and devs in one

unified team

- Client-side performance tests- System performance testing

before go-live- Reactive production monitoring

Code quality control

- Unit performance tests(during dev)

- Proactive monitoring inproduction

Automated security checks

P6.1

Page 4: TESTING IN A CONTINUOUS DELIVERY WORLD · quality, lack of documentation, dead or duplicated code, doesn't follow best practices in design or architecture, complex code (spaghetti),

abstracta.us

FUNCTIONALTESTS

PERFORMANCETESTS

USABILITYTESTS

SOURCECODE

INCIDENTS/BUGS

TESTMANAGEMENT

ENVIRONMENT/INFRASTRUCTURE

BASIC TESTING EFFICIENT TESTING CONTINUOUS TESTING

· Pieces of source code get lost

· Not clear what version eachclient has, which complicatesfixing the corresponding code

· Not clear what is in eachenvironment, everyone works inshared environment

· Not sure if testing with the latest version

· Bad communication betweendevelopment & testing

· No knowledge of the state of eachincident

· No knowledge of the version inwhich an incident was fixed

· No test cycles defined

· Testing is hard, not business focused,starts late

· Takes too long to update a test case

· No knowledge of which incidentseach test case corresponds to

· Unclear what needs to be tested or when

· No record of what to test or withwhat priority

· No evidence of test executions

· No information on the qualitystatus of each version

· Incidents already solved reappear

· Getting feedback after introducinga new change takes long

· Automated tests take a long time to run

· High cost of maintenance

· Uncertainty before go-live; no ideahow the system will perform

· No control over production systemsor other environments

· No clear methodology to run teststhat simulate the expected load

· Security breaches, uncontrolledrisks or uncertainty concerning howunprotected the users are

· Users find the system difficult to use

· No evidence that the application isusable

· Users are resistant to change duetheir lack of involvement inacceptance testing

· No evidence that the application isuser-friendly

· No evidence that the application isaccessible to all

· Security standards are not met · No knowledge of how a new changeaffects security

· Need to release frequent security patches

· Performance problems are difficultto solve and are detected very late

· Unable to anticipate problems thatoccur in production

· No knowledge of how a new changeaffects performance

· Testers are bored and unmotivated,always executing the same tests

· Regression tests are executedmanually and take a long time

· Testers make mistakes when doingcheckups

· Fear and uncertainty when releasinga new feature to production

· Uncertain about how well the testsare designed

· Not clear what to test first

· No knowledge of what coverage weshould have

· Not enough time to meet theexpected coverage

· Testing starts after development,focused on detecting and reporting,not prevention

· When something changes, noknowledge of which test cases needto be executed

· Gap between development andtesting team

· No shared vision

· No knowledge of how to avoidincidents

· No knowledge of where incidentscome from

· No knowledge of which feature isaffected by a certain bug and whatline of code it relates to

· No traceability within code versions

· High technical debt levels· Maintainability problems· Lack of documentation· Dead or duplicate code· Doesn't follow best practices in

design or architecture

· Data is overwritten betweendevelopers, testers or automated tests

· There are devices that have problems

· Cannot test on all devices

· Finding bugs and solvingissues takes too long

· Integration is complex and costly

· Difficult to set up a newenvironment for a demo, test orwhatever is necessary

AUTOMATEDTESTS

SECURITYTESTS

Pains SolvedP6.1

Page 5: TESTING IN A CONTINUOUS DELIVERY WORLD · quality, lack of documentation, dead or duplicated code, doesn't follow best practices in design or architecture, complex code (spaghetti),

By using continuous delivery practices, HP LaserJet Firmware team could:

Reduce overall development costs by ~40%

Increase programs under development by ~140%

Reduce development costs per program by 78%

Increase resources driving innovation by 5x

Source: Thoughtworks - The Case for Continuous Delivery.

Why Continuous Delivery?Case Study

Ready to Take the Next Step?

Contact us at [email protected] or call us +1 415 745-3678

abstracta.usP6.1