Ask a Question

Wintertainment 2020 - Day 10: Future of Testing Is Now – What That Means for Devs, DevOps & Testers



Today is your last chance to participate in the SmartBear Community Wintertainment 2020! Take this opportunity to share your thoughts on today's subject and, also, take a look at the articles we posted before.

See participation rules and event schedule with links to all articles


The Future of Testing Is Now – What That Means for Developers, DevOps & Testers 


What is the “shift left” movement? 


Testing has undergone a major shift in recent years. As more teams push toward a Continuous Integration/Continuous Delivery (CI/CD) methodology for code, the role of testing has evolved. One significant change is that testing happens earlier, and throughout the development process, with developers getting involved. This shift to test earlier is called the shift-left movement! 


This movement has helped increase the speed of innovation, improved efficiency at work leading to happier teams, and delivered a higher quality experience to customers. Using a CI/CD model with testing throughout is the future  and the future is now. 


How are Developers, DevOps & Testers getting involved? 


Many team members with programming skills are applying those skills to write tests using one of several open source frameworks for automated UI testing, including Selenium and Appium. These frameworks can easily integrate within your CI/CD process to help you identify bugs in the code. Selenium and Appium tests can do nearly anything a real user can, only faster, which makes it great for functional testing.  


For testing web browsers, the Selenium tool set consists of the Selenium IDE, Selenium Grid, and the Selenium WebDriver. Selenium WebDriver lets you create browser-based automated suites and tests for web applications, and the Selenium Grid allows you to scale tests across several machines and environments.  


Appium works similarly for native mobile applications. Appium is built on Selenium, and in many ways is very similar, it uses the Selenium WebDriver to test mobile applications on iOS or Android. 


Why use Selenium and Appium? 


It's all about delivering a quality experience to your customers. Once you’ve created your automated tests with Selenium or Appium, they can be run over and over at no additional cost or manual effort. This ensures that even lengthy tests can be scheduled and run (sometimes overnight), creating a consistent feedback loop. 


This consistent feedback throughout the development and product lifecycle is critical to delivering quality experiences to your customers.  


Other major benefits to of using Selenium and Appium include:  


  • Compatible with all major desktop browsers (Selenium only), iOS and Android devices, and simulators. 
  • Open source with an active community that is constantly pushing bug fixes and developing new tools. 
  • Widely used and battlefield-tested by Google, Microsoft, Apple, Facebook, and many more. 
  • Option to use many popular languages including C#, Java, Perl, PHP, Python, and Ruby. 



How to get started with Selenium or Appium 


The great thing about these open source communities is that there are an abundance of tutorials, guides, and documentation to help you get started. Here are a few checklist items .to consider before jumping in.  


  • First, consider the choice of programing language. Selenium and Appium can work with many programming languages. If your team currently works with a specific language, that’s the best place to start. Or, if your team includes members with less programming experience, a script-friendly language like Python or Ruby. 


  • Second, understand how Selenium/Appium can integrate within your teams’ current workflow, especially if you are working with a CI/CD toolset. Make sure you don’t cause any issues and can use this integrated process to help deliver bug-free code throughout the development process.  


  • Finally, consider your testing priorities. Work with your QA team or other quality owners to determine your goals in terms of test coverage, mix of manual and automated tests, and schedule. For example, you’ll want to understand what browsers, devices, and operating systems you will be expected to support. 


To further help you get started with Selenium, check out our Selenium toolkit linked in the Future Reading section below. 


How can SmartBear improve your test coverage with Selenium and Appium?  


While it is possible to build your own Selenium grid with a costly device lab or with VMs, SmartBear offers Device Clouds for both web browsers and native mobile applications. Running your Selenium tests to the CrossBrowserTesting Device Cloud, and your Appium tests to the BitBar Device Cloud, is faster and more productive, allowing more tests to run on more browsers, devices, and configurations in less time.  


With over thousands of real browsers and devices to choose from, the possibilities of parallel test execution with CrossBrowserTesting and BitBar are almost limitless. Our browser, device, and operating system selection include all the latest configurations, as well as legacy browsers, so you can test what your users are on without worrying about any of the associated costs or upkeep.  


CrossBrowserTesting also provides the ability to run your Selenium tests on Headless Browsers. Our Headless Browsers empower developers and testers to validate their code faster and earlier in the development process, cutting the time they spend testing down at the beginning of development for quick and early validation. Learn more about Headless Browsers in the link below. 


If you are using another framework to test mobile applications, the BitBar Cloud supports running a multitude of frameworks including Robot Framework, Xamarin UI Test, XCUI Test, Espresso, and even your own custom frameworks. 



Further reading 



What do you think? Comment below! 


  1. We’d love to hear about your experience with automated testing? Do you use Selenium or Appium? Another framework or tool? What challenges do you encounter? 
  2. If you currently test manually but have considered automation, what have been the biggest barriers?  
  3. Do you manage a device lab for testing?  
  4. What advice do you have for Developers, DevOps, and Testers who are experiencing a shift-left in testing? 
1 Comment