Blog

  • Speed Up the Code Deploy : Testing Cases

    1. Bringing Test-Driven Development Practices to the Front End

    The practice of test-driven development (TDD) —

    TDD1

    writing tests first, then writing to code to fulfill the test — helps many teams create quality-focused applications and minimize bugs. But it’s a process designed for unit tests, rather than feature-level testing. For most companies, UX testing doesn’t happen until late in the dev cycle, which can create slow down the overall development process. In order to create a more focused UX testing strategy, lifestyle media brand mindbodygreen has applied TDD practices for their front end team by using Rainforest. CTO Tim Glenister told us:

    “On the back end, we always thought about test-driven development, but our front end has been a little harder to test. Rainforest has allowed us to write our regression tests alongside unit tests. It really helped us to find bugs quickly and push the product out faster than we ever have.”

    Mindbodygreen writes their UX tests while their developers are working on the code. As a result, they can run these tests as soon as the code is ready. “We’re testing our UX and UI almost at the same time as we’re running unit tests because we’re able to turn pull requests immediately into QA pushes and into QA tests from the specs,” Tim says.

    2. Implement a Daily Testing Habit

    Another way of integrating testing into the development cycle is to run a suite of “health check” tests on a regular basis. Teams deploying code very frequently have an increased risk of introducing new regressions into their code base. Running a selection of critical tests throughout the development cycle can help mitigate this risk and spot bugs more quickly.

    The team at solar energy management platform Sighten develops code in two-week sprints. But the process of discovering, fixing and retesting for bugs often became a bottleneck to meeting their biweekly deployment deadlines. To catch bugs quickly, Sighten began running a small suite of key functional tests every day. “We automatically run our Rainforest test suite every morning on our development servers and use that as a health check of how development is going for the sprint,” says Mariya Nomanbhoy, VP of Product. “It really gives us an idea of what could be going wrong and whether any new regression issues have been introduced since our last check.”

    Adopting this practice allows Sighten to catch bugs without creating additional work for the team. Because they find issues more quickly, Sighten’s team has been able to reduce the amount of time they spend dealing with bugs overall.“Before Rainforest, we had been spending 50% of our time [during each sprint] on bug fixing,” says Mariya. “Now we only spend around 15% of our time fixing bugs.”

    3. Creating a Quality-Focused Development Culture

    Earlier testing can also mean exposing new features to your team earlier. In addition to running Rainforest regression tests, online art marketplace Twyla has empowered their entire team to become quality owners. Twyla holds weekly “Test Fests,” where everyone from designers to sales team members are invited to come learn about new features and participate in manual testing. This allows the product team to socialize new features with the team. “In a way it’s our version of an internal demo day. Everyone can come and see new progress from the development team, ask questions, and get up to speed on the product,” says John Fitch, product manager at Twyla.

    Involving the team in testing while features are still in production helps give everyone a stronger sense of ownership over Twyla’s product. Quality becomes a company-wide concern, rather than a specific job function. The process also gives the team a more efficient way to communicate any issues they encounter to the development team.

    The Results: More Confidence in Code from End to End

    For each of these three testing use cases, testing earlier gives the development team more confidence in the quality of their code. As a result, these teams are able to ship code faster with less risk of breaking something. For some, like Sighten, that means hitting deadlines more easily. For mindbodygreen, tester earlier means reducing their time to deployment by up to half.

  • The Journey Begins

    Thanks for joining me!

    Starting today to club of cloud evangelists together and explore the information on Public Cloud and share ideas to debate

    post