Are you finding it hard to make time for performance testing? Does your code end up shipping to production with little or no performance validation due to the lack of tools or expertise? Do you often wonder what system performance looks like in production to end users? Whether you are a test engineer, developer, or seasoned performance tester who has used traditional tools like LoadRunner, there are times when you need to get a quick read on the performance characteristics of your system and determine if there are any regressions. Join Kaushal Dalvi as he shares tips, tricks, and techniques that can help you get started with performance testing and system performance monitoring using open source tools. Kaushal describes an easy way to get answers about the basic performance, stability, scalability, and reliability characteristics of your system.
With a myriad of tools to choose from—open source, free, paid, and enterprise level—teams and organizations have seemingly endless options. Making the right tool decisions can impact the level of quality and success within DevOps projects. Kellyn Pot'Vin-Gorman discusses different tools, what tools work best together, and how—even in teams that are in silos—the right choices can make the difference between success and failure in DevOps implementations. Explore tools—such as Ansible, Jenkins, Maven, Delphix, Github, Liquibase, and Terraform—for automating builds and virtualization. Review reasons for choosing open source, “freemium,” or enterprise tools along with different hybrid tool combinations and explore why companies face new challenges as DevOps tools mature.
Throughout the years, Lightning Talks have been a popular part of the STAR testing conferences. Now, they’ve come to the combined Agile Dev, Better Software, and DevOps conferences too. If you’re not familiar with the concept, Lightning Talks consist of a series of five-minute talks by different speakers within one presentation period. Lightning Talks are the opportunity for speakers to deliver their single biggest bang-for-the-buck idea in a rapid-fire presentation. Some of the best-known experts will step up to the podium and give you their best shot of lightning. Get multiple keynote presentations for the price of one—and have some fun at the same time.
The trend in mobile apps today is who can deliver the best and the most new apps as quickly as possible to keep up with the competition. With this, the need for more and better testing seems to grow exponentially. Open source Appium is a unique mobile app testing framework that allows you to write a single test which executes for native or hybrid apps on different operating systems running simulators/emulators and real devices in parallel. Harry Roberts describes how to create and implement a successful mobile testing strategy using Appium across Android and iOS devices. After discussing the basics of Appium and demonstrating it live, Harry outlines how you can determine when to run tests on emulators/simulators vs. real devices and which tools are most efficient and cost-effective.
A difficult challenge organizations face when adopting continuous integration/continuous delivery (CI/CD) is ensuring that every build has been evaluated for performance. Although most organizations do performance testing, how they do it and when they do it define their readiness for deploying in fast-paced environments. Anjeneya Dubey’s team faced similar challenges and found ways to embed performance engineering as part of their CD pipeline. To achieve this objective, they made changes to processes, technologies, and culture. They added non-functional requirements to “normal” requirements and built a performance engineering platform for each API. This platform automates the performance tests, provides a centralized database for metrics, and automatically analyzes pass/fail on builds, based on dynamic thresholds.
To emulate production-like conditions that cannot be tested on the unit level, many integration and functional tests need a realistic environment. However, performing these tests in a production-like environment is fraught with problems—test data management issues, tests that are difficult to execute repeatedly, and network traffic that causes long-running test execution times. Instead of having to deal with these problems and others, Irene Dhong employs Docker to simulate dependencies. Learn how you can take advantage of Dockerized dependencies for quick test writing, reusability of common development code, and the ability to test early and often on a very low functional level. Irene describes how her development team is using Docker to implement more effective TDD and unit testing environments because Docker utilizes similar infrastructure both on the development and DevOps side. Join in to get Dockerized, too.
No question about it … software is highly complex maze, and it could take many lifetimes to manually test all the paths in a typical business app. Automation doesn’t help much because it’s not smart enough (yet) to design tests. Rob Sabourin shares his experiences testing complex application—some with more possible paths than particles of matter in the visible universe. Although programmers have applied path analysis to structural unit tests for years, path analysis has been mostly neglected in areas of end-to-end testing, workflow, process flow, usage scenarios, data flow, and system level control flow. See how you can employ path analysis techniques to dramatically narrow down the myriad paths to a small collection which will quickly expose important cross feature interference, shared object, and resource contention bugs.
The combination of microservice architectures and continuous delivery (CD) create a difficult scenario for integration and release testing. Even though microservices often introduce a huge number of integrations and transitive dependencies, testing still must be completed quickly to keep the pipeline flowing smoothly. Robert Williams surveys the techniques and tools available today for testing one or more microservices against a mix of real and virtualized dependencies in various stages of the CD pipeline. He explores structured testing around multiple versions of those services and their dependencies. Robert demonstrates semantic versioning and a console for traffic shaping so you can specify a range of versions of microservice dependencies and automatically test the candidate service against a range of real or virtualized dependencies.
Although Selenium has become the open source standard for simulating user interactions with the browser, Andrew Krug likes to think of it as more than one tool in your toolbelt. Andrew says Selenium is like the Craftsman Bolt-On tool—with one battery and one grip, it can become a circular saw, drill, jig saw, or even a tire inflator. He’ll cover thirty or more Selenium hacks in this fast-paced session. Find out how you can employ Selenium for security testing, visual testing, email testing, easy content testing, performance testing, load testing … you get the drift. Briefly touching on each Selenium hack, Andrew has one goal for this session: for all participants to learn one thing that they can use immediately upon return to their workplace. As a bonus, all code covered in this presentation will be put up on GitHub.