Continuous testing the new must have skill of tomorrow's tech leaders

  • View
    128

  • Download
    3

Embed Size (px)

Transcript

  • Continuous Testing The new must-have skill of

    tomorrow's tech leaders

  • Nadav YeheskelAgents Team Lead @ SeaLights

    AT&T (Senior Developer, Instructor, Web Expert)Any Technologies (Founder)John Bryce (Instructor)SRL & CV Trust (Developer, Tech Lead)

  • Agenda

    The transition to Agile and Devops

    Understand the changes that QA department is facing

    Whats Continuous Testing and how tech leaders can

    implement it

    Learn about new metrics that you can use

    Demo

  • The State of QA & DevOpsContinuous Delivery is becoming the de-facto standard

  • The Industrys Reaction

    Organizational People Skills Tools Practices Communication

    Now that the hysteria has passed

  • The Future of QA

    Continuous IntegrationHow we build software

    Continuous DeploymentHow we deploy software

    Continuous TestingHow we test software

    Continuous Delivery

  • Continuous Testing to The Rescue

    Testing is a cross functional activity that involves the whole team, and should be done continuously from the

    beginning of the project

    - Continuous Delivery, Jez Humble & Dave Farley

  • Continuous Delivery

    Increase quality while increasing speed

    CI + CT + CD

  • The Long: Leading a development team is no easy task. An effective Tech Lead establishes a technical vision with

    the development team and works with developers to turn it into reality.

    Tech Leader - Definition

    The Short: A Tech Lead is a developer who is responsible for leading a development team.

  • Becoming a Continuous Testing Expert

    Master testing types and techniques Identify which sections of the code should be tested and how Set the culture of the team and train them (Ongoing) Have tools and supporting processes

    Collect & aggregate meaningful data Analyze the data and create insights Use the insights (internal processes)R

    In order for a Tech Lead to become a Continuous Testing Expert, one should:

  • Automated Unit TestsAutomated Component TestsAutomated Integration Tests

    Automated API Tests

    Automated GUI Tests

    Manual Based Testing

    Testing Techniques and the Test Pyramid

    Where you are today

    What you think you need

    Where you should be

  • "When you can measure what you are speaking about, and can express it in numbers, you know something about it." - Lord Kelvin

  • Understand what is causing quality to decrease when speed is increased

    Data Collection

  • Understanding Your Test Quality

    How do you measure end-to-end test quality?

  • Green is Not Enough

    How do you know if tests were skipped or missed?

  • Quality Risks

    How do you stop untested code changes from reaching production?

  • Centralized Quality Dashboard

    How do you collect quality metrics across environments and tools?

  • Find / develop a solution for the identified root cause problems

  • Real Code Coverage

    Unit Integration Functional UI API Exploratory

  • Our Technical Stack

    1. Node.js, Java, .NET, JavaScript, and Python

    2. Microservices architecture, Mongo DB

    3. CI: Jenkins

    4. SCM: Github

    5. Test automation frameworks: Mocha, TestNG, JUnit, NUnit and Py.test

    6. Infrastructure: AWS

    7. CD: homegrown

  • Lets see some Continuous Testing in Action...

    Demo

  • Our Process

    Our CI/CD Workflow1. Pull request

    2. Build + unit test

    3. Verify that all tests passed, no decrease in coverage, and no quality risks

    4. Integration build

    5. Setup and deploy build to integration lab (AWS)

    6. Run integration tests

    7. Verify that all tests passed, no decrease in coverage, and no quality risks

    8. Ready for production Deploy

  • Q&A

  • Contact Me

    Nadav Yeheskel

    nadavye

    nadav@sealights.io

    www.sealights.io/blog

  • References

    The Day the QA Department Diedhttps://www.infoq.com/articles/day-qa-dept-died

    The Definition of a Tech Leadhttps://www.thekua.com/atwork/2014/11/the-definition-of-a-tech-lead/

    Technical Leadership: The Often Overlooked Skills and Responsibilities of a Technical Team Leaderhttps://www.infoq.com/articles/technical-leadership-overseen

    Diffy (Twitters API testing tool)https://blog.twitter.com/engineering/en_us/a/2015/diffy-testing-services-without-writing-tests.html

    How Solid Are Your Tests - Mutation Testing by the awesome Dror Arazihttps://www.sealights.io/resources/solid-tests-mutation-testing-action-recording/

    https://www.infoq.com/articles/day-qa-dept-diedhttps://www.thekua.com/atwork/2014/11/the-definition-of-a-tech-lead/https://www.infoq.com/articles/technical-leadership-overseenhttps://blog.twitter.com/engineering/en_us/a/2015/diffy-testing-services-without-writing-tests.html