QA or the Highway 2016: Recap
Centric is proud to be a perennial Gold Sponsor of Columbus’ QA or the Highway Conference.
Once again, this was another huge year for the QA or the Highway Conference, and this past February in Columbus 400+ passionate QA and Testing professionals came together to focus NOT on academic theory or idea generation, but on the tactical mechanics of improving how testing is done.
The conference center was charged with the energy of an audience full of ambition as our power-packed lineup of speakers took the stage. Below, we break down key takeaways from the speakers.
After growing up with a powerful, intellectual female role model in Nancy Drew, Karen talked about how a reintroduction to Nancy Drew prepared Karen for to be a software tester. Below are some key takeaways:
- See, Think Wonder. Always ask: What did you see? What do you think about it? What about it makes you wonder?
- Think, Pair, Share. Think on your own first, but never stop there: Compare and share notes to generate ideas, thoughts and leads.
- Ask, “What makes you say that?” Asking questions to understand the thoughts of others is a great way to build understanding that leads to collaboration.
As one of the leading test engineers for Google, Bramha asked the audience several questions about practices and professionalism.
In his talk, he reviewed a few common practices on agile teams, including BDD, CI and TDD, along with the problems encountered that led to their creation – and how those practices created new and different problems. He finished up by posing the question: If you follow those practices all the time, do they make you a professional?
His answer was as follows:
- “Practices do not make you a professional.” Just because you do something doesn’t make you a professional – judgement makes you a professional.
- Practices are useful in some contexts, but not all. Don’t introduce practices because they’re the latest fad; do so because they solve a problem FOR YOU.
- There is never a clear-cut answer. Almost everything in life is a tradeoff; the question is what is better able to help you achieve your goal. Focus on the goal and the options to achieve it, not as a practice for the sake of practice, or professionalism.
Bramha also spoke on his Martian Proxy – a programmable HTTP proxy designed to be used for testing – and how it facilitates integration testing.
Martian is a great tool to use if you want to:
- Verify that all (or some subset) of requests are secure.
- Mock external services at the network layer.
- Inject headers, modify cookies or perform other mutations of HTTP requests and responses.
- Verify that pingbacks happen when you think they should.
- Unwrap encrypted traffic (requires install of CA certificate in browser).
- By taking advantage of Go cross-compilation, Martian can be deployed anywhere that Go can target.
Matt took an innovative approach to teaching the fundamentals of testing by using real-world poker examples. Poker has always been called a game of incomplete information – a great parallel to the challenges we face in testing. During this live, experiential demonstration, Matt showed real world testing concepts including:
- Domain knowledge – how well do you know the space you are in
- Risk Analysis – what is the likelihood and impact of something occurring either in favor or against you
- Planning – how do you strategize and plan, what is the overarching approach
- Adjusting as you learn more – adjusting that plan as you learn more
- Knowledge gathering
- Resource allocation
Speaking to a packed house, Shawn revealed the shifts he has seen in the industry from service-based architectures towards a smaller, more focused concept of “microservices.”
In his talk, he discussed the benefits of a micro-service approach, which can be independently be deployed, scaled and maintained. In addition, with these new system boundaries there can be an increase in testing complexity and must be managed effectively.
He also covered:
- An introduction to microservice terminology
- Approaches to managing the testing of these loosely coupled but still interdependent systems
- Demonstrated service-based testing techniques
Joe’s talk centered on skill development within the testing space. He related that too often in our industry, we find many professionals who did not end up here by choice; rather, many come from stellar backgrounds and asked to do testing because they are the foremost expert in a particular application or business area. Still others ended up in testing because they were a problem that a manager wanted to push off on someone else.
In both cases, we often see individuals who enter the testing field with little training, knowledge and experience. However, training isn’t as simple as taking a course and assuming instant retention and ability to apply knowledge in practice, yet that is what many managers expect. How do we build a competency within an individual that is lasting?
Throughout his talk, he discussed how to learn how to learn with relatable examples from his own experiences.
Donavan discussed how Docker has grown in just a few short years from a little-known technology to “the new hotness” that every data center needs. He discussed what Docker is and how to initiate it, then showed how Docker can streamline and scale your test automation, finishing with a demonstration of how use a “dockerized” Selenium Grid.
His talk and demo code can be found on github (requires an account on github).
Brian J. Bayer
Brian’s talk centered on some of the key cultural elements necessary to support a successful automation strategy. As Brian says, “Test automation can be a game-changer in terms of profitability, time to market, and culture – or it can be a complete boondoggle.” Knowing what things to consider for an automation strategy is key to success.
Some key takeaways:
- Make sure you have the right things in consideration including business need, return on investment, organizational culture and structure.
- The tools and how you automate are influenced by development processes, technology stacks and expected maintenance items.
- Where you automate should influence the frameworks you use, not the other way around.
Bhupesh reviewed automation challenges including slow execution, fragile tests, throw away tests, etc., going on to discuss test automation at various layers in the application stack.
His key takeaways:
- Focus on the fundamentals – understand why and what you are testing before beginning.
- Use the testing pyramid – unit tests are fast, small, and numerous. GUI tests are slower, more complex, and should be fewer.
- Use the right tool for the right job – do not repurpose a GUI testing tool for unit testing and vice versa.
Craig’s talk was focused a little bit more towards developers, with the goal of supporting whole project quality. In his talk, he discussed unit testing, its limits and how to improve testing.
His key takeaways:
- Quality is a huge landscape that needs a variety of tools to validate
- Just because a test passes doesn’t mean there isn’t a bug
- Unit tests can be great and not so helpful all at the same time
Stan’s talk focused on brief demonstrations of several common tools for testing web services, including:
- Chrome plugin “Advanced REST client”
Despite being delayed by the weather, Pradeepa arrived and discussed the concept of pair testing. During her talk, she demonstrated pairing in a live demonstration, while also covering:
- What is pair testing and why you should do it – hint, improves collaboration, feedback velocity, and it’s fun.
- Pairing options – pairing can come in multiple flavors, developer-tester, tester-tester, product owner-tester, develops-tester, etc.
Matt gave an overview of how he’s seen test strategy change over time, with specific emphasis on the changes introduced by agile software development. Matt took the time to discuss his experience and help folks identify what patterns can lead to success and failure. He also encouraged folks to refocus their approaches to incorporate the following:
- Check the API and Poke the GUI – testing the right things at the right level is fundamental to effective testing coverage.
- ATDD, BDD, and The Three Amigos is a great way to spurn requirement clarification conversations.
- Reduce work in process to increase flow – steady flow is more efficient than the accordion effect of stop and go.
Rob Bowyer & Erik Davis
Rob and Erik presented an interactive discussion in which they brainstormed with the audience on:
- How do we reach more testers
- How do we “sell” professional development
- Should we “sell” professional development
Kelsey spoke on the challenges of most automation frameworks: maintainability and weight, as most frameworks are not lightweight and become unwieldly over time with maintainability decreasing if good architectural principles are not followed.
- Use object-oriented design in testing
- Actively manage your test data
- Be disciplined in your practices
Extending his live learning demonstration from last year, Joe Beale demonstrated key framework components leveraging Ruby and Cucumber including:
- Cucumber Scenario Outlines
- Managing data through a variety of inputs
- Ruby basics on arrays and hashes
Dmitry’s talk highlighted the major shifts seen in the last few years in how organizations that produce software are approaching quality. He discussed the rise and prominence of quality and its impact on completion while also pointing out that old school ways of approaching quality is quickly becoming obsolete. His key takeaway was that testers need to transform, merge, or disappear from existence.
Other key notes:
- Slow is dead – an inability to respond rapidly to quality concerns in the market place can kill companies.
- Top technology companies are approaching quality different – Google and Amazon use SDET’s while Facebook, Yahoo, and Microsoft have phased out testing only roles.
Warren went over the importance of treating interviewing as a skill that requires preparation and training, along with key strategies to ensure your resume stands out from the rest. The ultimate goal is to stand out from your competition and have them compete with you, instead of you competing with them.
Ramesh gave an entry-level discussion on mobile test automation. He covered:
- The current technology landscape and mobile trends
- Common mobile development challenges
- The influence of mobile test automation
The title of this talk is the recap of Jess’ talk: He really did cover 30 free tools in 60 minutes. In his talk, he shared 20 tools that were in his toolbox and then encouraged the audience to share other tools they use, causing them to quickly exceed 30 tools.