|
No More Shelfware—Let’s Drive
Slideshow
When Isabel Evans learned to drive a car, she also learned how to check, clean, and change spark plugs, mend the fan belt with a stocking, and indicate speed and direction changes with arm and hand signals. Now, we don’t expect to have to do any of those things; we just drive the car. That’s how test tools and automation could be. Just drive and concentrate on the journey of delivering software continuously—concentrate on engineering the solutions, not on the automation. To be effective engineers, we need the support of a powerful toolset that we understand. Is that what we have? Or do we still have shelfware sitting around expensively doing nothing, because we don’t know how to "clean the spark plugs"? Can we remove the difficulties and make using test automation a better experience, just like driving a car?
|
Isabel Evans
|
|
The Logic of Verification
Slideshow
Software testing is sometimes described as “verification and validation”—or, according to Wikipedia, “the process of checking that a software system meets specifications and that it fulfills its intended purpose.” Yet, renowned tester and teacher Michael Bolton argues, if we examine the concept and logic of verification, we quickly recognize that there are serious limitations to what can and cannot be checked and verified. This is not to say that checking is a bad thing—on the contrary; checking can be very valuable. Still, it’s important for testers and their clients to recognize the fundamental limitations of checking and to address those limitations in our testing strategies.
|
Michael Bolton
|
|
Use Soap Opera Testing to Twist Real-Life Stories into Test Ideas
Slideshow
Reality is a great source of inspiration. Real-life situations can present complexities that are not always anticipated—and, as a consequence, not always handled well. Business functional tests should try to present situations that are routed in reality but also aren’t too obvious. Testing and automation pioneer Hans Buwalda came up with a concept for test design called "soap opera testing" based on this concept. It is a style of writing tests where one writes as if they were episodes in an imaginary soap opera on television. Soap opera episodes are based on real life, but usually they are more condensed and somewhat exaggerated, which are great properties for efficient and effective test design. Thinking of test development as writing soap operas can encourage creativity and be more fun. It also paves a way for nontechnical domain experts to contribute.
|
Hans Buwalda
|
|
Automation and Test Strategies to Save Our Project from the Brink of Collapse
Slideshow
Teams are sometimes asked to turn a mess of undocumented, poorly structured legacy code into a robust product under impossible deadlines. Test strategies blending automation, exploration, and refactoring can help focus development efforts and converge even the most chaotic projects. But, where do you start? Join Jonathan Solórzano-Hamilton as he shows how automation can help drive products into a state of release readiness. Learn how refactoring, test-driven development, SOLID principles, dependency injection, and mocking frameworks help break down complex development problems into actionable chunks to delivering reliable, self-documented, and high-performing products. Jonathan walks you through the concepts of “Single responsibility”, “Open/closed”, “Liskov substitution”, “Interface Segregation”, and “Dependency Inversion”.
|
Jonathan Solórzano-Hamilton
|
|
Frontend Testing: Stepping in and Collaborating with Developers
Slideshow
Testing is shifting left, moving closer to testing the code itself before the full product is ready for release. While the backend world already has established methodologies for testing, frontend developers and testers are still trying to figure out how to work together to effectively test the code. Gil Tayar suggests testers need to communicate with the frontend developers to understand the framework by which frontend code is tested, the various kinds of testing that can be performed on frontend code, and which tools can be used. During this session, Gil helps ease your fear of the unknown by teaching you how to test developer code. He discusses various test methodologies you can use and how they fit together in a coherent way. Gil also includes sample code that you can use as a template in your own project. If time permits, we'll get hands on and do a bit of live coding.
|
Gil Tayar
|
|
Testing Your Tests: Securing Confidence In Your Automation
Slideshow
The growth of automation testing in today’s software development organizations is changing the way we test applications. Software development practices have matured over the last thirty years to include all forms of testing in order to verify software quality. In the last ten years, there has been a huge spike in the adoption of automated tests, effectively replacing some manual testing practices and supplementing traditional testing activities. Many parts of the software development industry, however, are wary of replacing manual testing with automated testing. Not only is there often a lack of confidence in the automation tests, but some also see automated testing as fragile, unmaintainable, and, ultimately, something with a low return on investment. Max believes that by employing mature software development techniques, we can achieve robust, maintainable tests that deliver confidence in the application under test.
|
Max Saperstone
|
|
Aligning Zero-Touch Nonfunctional Testing in DevOps Implementation
Slideshow
When a host of applications and data centers get migrated from their traditional IT systems to a cloud-based data center using an automated DevOps model of deployment, effective testing is critical to success. True DevOps value is realized when all development, testing, and operations functions collaborate and operate on a zero-touch automation model. In this session, Subash Newton will review the prerequisites for creating an effective DevOps testing strategy that includes nonfunctional testing. He will share how to set up an effective test strategy using a zero-touch process automation framework that dramatically increases test automation efficiency.
|
Subash Newton
|
|
Mobbing for Test Design: Connecting with Your Colleagues’ Test Ideas
Slideshow
[video:https://youtu.be/egHJPdubNss width:300 height:200 align:right]
|
James Fogarty
|
|
Overcoming Test-Driven Damage
Slideshow
Test-driven development is supposed to help us refactor our code safely, but we often find that when we refactor our code, we also have to refactor our tests. What was supposed to add safety becomes a burden requiring time and effort. Writing good unit tests is a critical skill that developers need to master in order to get the most benefit from test-driven development. Tests must be unique, written at the right level of abstraction, and implementation-independent in order to be most valuable. In this session, David Bernstein will cover effective techniques for doing TDD that support building useful tests and quality code. You’ll learn how to approach TDD in a way that yields the right number and kind of tests to support improved refactoring. Working through a few code examples, you’ll see how many assertions are required to specify a linear range, exceptions, and other boundary conditions.
|
David Bernstein
|
|
Five Core Values to Focus Your Regression Testing Efforts
Slideshow
In an agile world where having dedicated testers can be a controversial idea, manual testing is a tough sell. Not all contexts have their testing automated, so what is a manual tester to do when it comes time to release? Your team starts asking about regression testing, requests estimates, and expects justifications for the time being spent. Intuition isn't the answer, and retesting everything is not an option. In this session, seasoned tester Brendan Connolly will share his five core values for focusing your regression testing efforts: consistency over correctness, behaviors over bugs, intent over implementation, conformity over complexity, and common over complete. These values not only help with decision-making, but also serve as a heuristic foundation for understanding and communicating about regression testing, as well as define a clear intent and context for all your future regression tests.
|
Brendan Connolly
|