May 3, 2016

Notes on Accelerating DevOps Collaboration with Sauce Labs & JIRA

Name: Accelerating DevOps Collaboration with Sauce Labs & JIRA
Date: Tuesday, May 3, 2016, 2:00 pm
Webinar HostSauce Labs

About the Webinar:


"Software Development teams are looking for ways to speed up their development process while maintaining high quality applications. In order to help meet this challenge, Sauce Labs is proud to announce the release of the first automated test cloud integration with Atlassian's JIRA.

"The Sauce Labs Plugin for JIRA allows JIRA users to increase the speed of their development cycles while maintaining quality and reducing cost. The plugin seamlessly connects the rich testing metadata that Sauce Labs provides with an organization's JIRA instance. Teams who are looking to adopt DevOps/Continuous Delivery practices for the first time will find this tool especially compelling".




Conference Video: YouTube



The Software Journey and DevOps


According to the moderator of the webinar, it used to be that Dev, Ops, and QA were in separate silos, with Waterfall and long release cycles. "To get people closer to Agile, they might attempt Fast Waterfall, where automated testing begins. Then, Dev, Ops, and QA start to communicate".

Note:
  • DEV: The Software Engineers / Software Developers on the team
  • OPS: Operations team for the Software and Software Environment
  • QA: Software Quality Assurance, the manual testers


The webinar moderator noted that there are too other stages once a development team moves from Waterfall and Fast Waterfall to become truly Agile:

  • Continuous Integration has a full adoption of Agile. Automated tests dominate... and manual testing is just for debugging. Dev, Ops, and QA collaborate closely. 
  • Continuous Delivery: Dev, Ops, and QA functions merge into one team. Releases are up to almost ten times a day. 

Automated Testing with Sauce


Jack Moxon, a Product Manager at Sauce Labs for the past four years, introduced Sauce. Sauce is a Cloud based product 700 different browsers and platforms. It is easy to configure: There is a Selenium wrapping script where you can point the script to Sauce Labs to use their cloud based virtual environment. 

Jack mentioned these virtual environments cover not just varieties of OS and browsers, but mobile devices, too. The Virtual Machines (VMs) are "secure" and "pristine". The Virtual Machine is spun up only when it is used in a browser or mobile device test, and is destroyed right after.

Full Disclosure: I Love Sauce Labs!


Full disclosure: I have loved Sauce Labs ever since we started using it at work last June. I love it and have the T-Shirt. Literally.

Last summer, they had an ad campaign: testAllTheThings( )! When I saw the T-Shirt slogan from my Twitter feed, I knew I had to have that shirt. I bugged them on Twitter, and they sent me one. 

Why do I love Sauce Labs' products so much? Because I hate regression testing. Sauce Labs provides a solution to the worst part of software testing: Running regression tests on the entire browser test suite.

With regression testing, after all the new changes have been deployed to the final testing environment, the QA Engineers need make sure that the entire regression test suite works on Chrome, then on  Firefox, then IE 11, then IE 10, IE 9, and even IE 8. You fire up the first test in the browser, and proceed to follow the manual test case designed. You just start pointing-and-clicking away, entering in test data just as the customer will be doing, hoping that you don't leave out a step in the test case and possibly miss a bug. You run all the tests for the PC. Then run all the steps for the Mac. And it takes a week or so to process everything, even when doing side-by-side browser testing. 

Sauce Labs isn't a magic bullet. Sauce Labs isn't "write once, run anywhere" when it comes to writing browser tests. This is more the fault of ancient browser wars, when Microsoft was still trying to set the standard -- not be "browser standard" -- back in the days of Microsoft Internet Explorer 8, 9, and 10. 

Sauce Labs not only runs all my browser tests, they also shows what happens when, screenshot by screenshot. Need to see what happened when the test ran? You can also show a video about exactly what the test was doing. They do have logs and metadata you can review to diagnose what went wrong in a test, but I generally find their screenshots the most helpful, checking to see if there were any error messages that popped up just before the browser test failed.

New Feature: JIRA Integration 


There is a new free feature Sauce Labs offers: A new Sauce Labs Plugin for JIRA. Once you run the tests, you can combine all the information Sauce Labs gathered during the test, using Atlassian JIRA as an output source. 

... Hrm... this Sauce Labs plugin is only good for Atlassian Cloud and JIRA Cloud. I wonder what we use at work?

We use JIRA at work for many thing at my workplace: We track how our many software projects are going. We keep track the condition of the sprint: How many tasks are In Progress, how many tasks are Resolved, how many tasks are To Do. We also use JIRA for bug tracking.

With the Sauce Labs Plugin, you can take all the information collected: Logs, screenshots, and videos, and collect it and use it in JIRA. 

Jack Moxon gave a demo: If you find in the Sauce Labs Dashboard a failing test, you can drill into the failing test, examine to see if it is a bug.  

When the plugin is installed and set up by the Atlassian manager at your manager with your Sauce Labs credentials, a new button appears above the screenshots and videos: "Create JIRA Issue".

Within the Sauce Labs application, you can automatically create a new JIRA ticket: 
  • Select from the list of your projects in JIRA.
  • Choose to include Current Screenshots, Videos, Sauce Logs, and Selenium Logs. 
  • Set the Issue type such as "Bug".
  • Add a Summary.
  • Add a Description.
... As soon as you submit the entry, the JIRA Link is now embedded into Sauce labs.

Jack was mentioning to do setup on the Sauce Labs master account, so that sub-accounts can also get permission.  

This plugin is for anybody using JIRA Cloud. The plugins and extensions are all free. 

You can also follow the same steps when performing manual testing. You can use their virtual machines to do testing. You can create a new JIRA task then, too. 

When asked, Jack said that for the first version, you need to create a new ticket to attach the Sauce Labs artifacts. Later versions, you will be able to attach them to existing tickets. 

Documentation


Jack mentioned that there is written documentation on Sauce Labs' Wiki. You can go to the page Sending Test Results to JIRA: https://wiki.saucelabs.com/pages/viewpage.action?pageId=63478885

Have a Suggested Feature? Go to Aha! 



Want to suggest new features for Sauce Labs? Go to Sauce Labs' AHA! page at http://saucelabs.ideas.aha.io

- T.J. Maher
  Sr. QA Engineer, 
  Fitbit-Boston

// QA Engineer since Aug. 1996 
// Automation developer for [ 1 ] year and still counting!



2 comments:

Shital Bagankar said...

Pretty informative blog on DevOps, loved your writing style. Simple yet effective. Much helpful.

Looking forward to more such articles from you. Thank you for sharing.

SAMEER said...

Continuous integration is a critical component of DevOps. This component significantly reduces the manual work required for development and testing. While not all DevOps jobs can be automated, many procedures may if they appear redundant. DevOps is constantly striving to improve efficiency, therefore it attempts to automate all redundant and low-value workflows so that developers may focus on high-value jobs. Devops Classes in Pune