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

Preview:

Citation preview

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

What’s 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 Industry’s 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

Let’s 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 (Twitter’s 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/

Recommended