Manual vs automation testing of the UI

Image credit: Freepik Speaking of manual vs automation testing, which one do you prioritize on the GUI level? Most teams that I’ve seen want automation but start with manual testing in the early stages of product development. Later on, they add the automation of UI/UX happy paths with Selenium, Protractor, or other frameworks, gradually reducing the number of manual tests. But is this approach optimal for modern-day UI testing? We’re basically talking about a tactic from five years ago, when “thin UI” was still a thing. When you do want to automate UI tests, you should pick a tool that's quick and painless giving you low maintenance tests. And that's not Selenium or Protractor. Moreover, this approach doesn’t really account for the strengths and limitations of manual and automation testing. So what are these strengths and limitations? Let’s take a closer look at the key advantages of automation testing over manual testing and vice versa. Check out the matrix below to see how the two compare on a high level or scroll down for a more detailed overview. Automation testing vs manual testing comparison matrix Manual testing Automation testing Short-term ROI High Low to moderate Long-term ROI Low High Scalability... More

UI testing automation tools and frameworks

When it comes to UI testing automation tools, there’s no shortage of options to choose from. Test automation frameworks, desktop applications, cloud-based platforms — the range of available solutions is broad, to say the least. But which one is right for your application? The testers and developers in our team have collectively gone through dozens of automation testing tools and frameworks. We played around with Selenium before Selenium WebDriver, and we automated testing with more GUI frameworks or tools than most people can name. It’s this experience that has become the foundation of our own UI automation tool Screenster.  The collective expertise of our team is also the main driving force behind this software testing tools list. Long story short, here are the best UI testing automation tools of 2017–2018. You can click on the name of a testing solution in the list to view its detailed description or just scroll down and read further. The best UI testing automation tools and frameworks of 2018 Unit testing tools for the UI: Mocha Jasmine Karma End-to-end testing frameworks: Protractor Selenium Automation testing for BDD with ‘Living documentations’: Cucumber Desktop applications: Katalon studio UFT (and UFT pro) TestComplete Cloud platforms for UI... More

9 regression testing tools for web automation

What regression testing tools will you actually want to use in your future projects? I bet Selenium will remain a go-to solution for many, even though the framework will celebrate its 14th birthday this year. But does this make it the right choice for test automation in 2018? In my opinion, it’s not necessarily the case. Call me biased because I’m a part of a team building a Selenium alternative, but this doesn’t mean I’m wrong. There’s a whole bunch of powerful regression testing tools and frameworks out there, and it’s always good to know your options. As far as these options go, here are my personal favourites from 2017. I think it’s these 9 automation testing solutions that you might want to consider in 2018. Top UI regression testing tools of 2017–2018 Test automation frameworks Desktop tools Web-based platforms Selenium TestComplete Usetrace Protractor UFT Ghost Inspector Cucumber EggPlant Screenster   Note that we’re not just talking about frameworks here. The regression testing tools in the table above include codeless and low-code solutions that ship as either desktop or web apps. These two types of testing tools target non-programmers with features like image-comparison-based visual testing and record-playback. In addition, the... More

5 strategies to reduce software testing costs

Ever wondered how much software testing costs tech companies? According to Cambridge University, the global annual spend on testing exceeds $300 billion. Software testing takes up 25–40% of a typical IT budget, gravitating towards 40% in 2018. There’s no denying that software testing is an expensive affair, but it’s money well spent if you’re doing it right. Leaking a major bug to end users can cause a 4% decrease of a company’s market value, 5.7% if there are multiple bugs. That’s a $2.6–2.7 billion loss in market capitalization on the scale of a large tech brand. Figures like these dwarf the cost of software testing in 99% of companies. Source: Parasoft What’s more, there’s no shortage of strategies to help you reduce the cost of running software testing. In fact, it’s these cost-optimization strategies that we’re going to focus on in this article. Read on for five useful recommendations on how to reduce testing costs. 1. Test early and often A software defect is 4–5 times cheaper to fix when caught in the early stages of development compared to post-release fixes. The amount of time and effort it takes to identify, scope, fix, and retest defects also differs across unit,... More

User acceptance testing (UAT) automation

User acceptance testing is your last line of defence before each release, which sounds like a good reason to take UAT seriously. But is this reason good enough to warrant investing time and effort into UAT automation? Automated acceptance tests are something that very few QA teams actually do. Only ~3% of software testing teams automate the UAT process, according to TestDrive UAT. While these numbers might lack precision, they certainly illustrate a general trend. And the general trend for most teams is to rely on manual testing. So what is wrong with automated user acceptance tests and what can we do about it? Based on what I’ve seen in a good dozen of teams, working with code-based solutions is what turns UAT into a headache for most people. To prove this, let’s take a deep dive into user acceptance testing and how people automate it. What is user acceptance testing all about? Definitions are boring, so instead of defining user acceptance testing, let’s briefly look at what everyone needs to know about UAT: User acceptance testing verifies the user-facing functionality of a software product in real-world scenarios. Each user acceptance test reflects the description of a functionality in the... More

9 automation testing tools to consider for web applications in 2018

The year 2017 saw an impressive number of important events as far as UI automation testing tools go. In 2017, we witnessed the end of developer support for Selenium IDE and PhantomJS. We’ve also had a full year to evaluate how the 2016’s acquisition by Micro Focus has influenced UFT. Finally, the releases of Angular 5 and React Fiber have introduced new challenges for QAs, making GUI testing tools even more relevant. Given all these news, what automation frameworks and tools will become the mainstream options for guarding the user interface against bugs in 2018? Read on for an overview of top web automation solutions across three categories: UI automation testing frameworks Desktop automation tools for enterprises Cloud testing platforms Selenium WebDriver TestComplete Screenster* Protractor UFT Pro (LeanFT) Ghost Inspector Cucumber Eggplant Functional Usetrace *Yep, thats us — and we’ve got awesome features to back up our claim for leadership. UI automation frameworks. Selenium WebDriver, Protractor, and Cucumber Code-based testing frameworks have their drawbacks, but they will persist driving UI automation in teams that have enough time to write UI tests. For these teams, Selenium, Protractor, and Cucumber will remain the preferred options 2018. Selenium WebDriver: old but gold still... More

Lean testing automation in 2018: what are the key challenges?

If you were to characterise lean testing with a single phrase, what would it be? I’d use a motto you’ve probably heard: think big, act small, fail fast, and learn rapidly. As an integral process of lean software development, lean testing is an approach that values effectiveness above all. It prioritizes flexibility and adaptability over schedules, documentation, and clearly-defined roles. Given the focus on quick response to change, the lean approach to software testing is reminiscent of other QA methodologies in Agile. This said, it makes more sense to compare lean testing to a more old-school methodology like traditional enterprise testing.  Lean testing versus traditional testing Lean testing Traditional testing Main goal Having a flexible quality assurance strategy that's compatible with quick, frequent releases. Having a comprehensive and clearly-defined quality assurance strategy, with test policies, strategies, and best practices in place. What tools are preferred? Regression testing framework or tool, bug tracker. The key focus is on simplicity and maintainability. Tools for test management, bug/issue management (bug trackers), and time management. Documentation Test automation precedes (TDD) and/or happens in parallel with feature development. TDD cases become the de-facto documentation. Testers write test documentation during the early stages of project development... More

What is happy path testing and why is it bad for you?

If you’ve been following this blog, I’m sure you’ve stumbled across one or two articles that mention happy path testing of the UI. If that’s right, you probably know that we, the folks at Screenster, aren’t too excited about happy paths in UI testing automation. So what’s the big deal with UI tests that revolve around happy paths? I see two major problems: When writing test cases for the GUI, QA automation teams rarely stray from the happy path. In most cases, automated UI tests only cover a fraction of the happy path they target. Since UI testing automation is something that we all take seriously, exploring these two issues seems like a useful thing to do. But before we can proceed to that, let’s make sure we’re on the same page regarding what happy path testing is and how it should be automated. Okay, so what is happy path testing? The term “happy path” denotes a user scenario where nothing ever goes wrong. Coming from UX and software modelling (and an alternative universe where the Murphy’s Law doesn’t exist), happy paths exclude exceptions, human error, and corner cases. If you need an example, happy path scenarios which cover user... More

Automated regression testing in Agile: why, what, and how?

There’s a paradox surrounding automated regression testing of the UI in Agile. On the one hand, everyone tells you how important it is. On the other, it doesn’t seem to work right in far too many Agile teams. Web application teams are the most susceptible to this. UI regression testing automation is something that very few companies do, even though visual bugs are incredibly common. So why does this happen and what can you do about it? Why is automated regression testing so challenging in Agile? The three cornerstone challenges of software testing in Agile are ROI, ROI, and — you guessed it — ROI. In the brave new world of agile product development, everyone frowns on large upfront investment of time and effort. The problem is you typically have to spend a whole lot of both time and effort to automate regression testing. More so for UI regression testing. In addition to logic and user interactions, UI regression testing has to cover CSS bugs. Issues of this sort are hard to trace, and they require visual testing across screen sizes and browsers. Coincidentally, most UI testing frameworks lack a good default mechanism for visual testing. This brings us to... More

How to use test parameters? Automated UI testing with Screenster

Test parameters are an age-old issue with well-known solutions. Use variables for the values that you know will change. For each variable, remember that the parameter name you’ve chosen must be meaningful. Follow these two rules, and you’re in a good shape. Seems simple so far, right? As long as we’re talking about one hand-coded test, this approach does look simple and good. It boosts the reusability of your coded test, which is always nice. By adding test parameters you also make your code more robust and maintainable. I wish this method of automated testing looked just as good and simple in real life, but it doesn’t. Try writing a hundred test cases for end-to-end UI testing, and you’ll see what I’m talking about. Basically, my problem with this method is not about test parameters but, rather, the whole idea of hand-coding hundreds of test cases for the UI. At the end of the day, handwritten tests are just too low-level and unproductive. You have to decide what to take in as your test parameters and use them across all test suites. Not a big deal, but requires a lot of upfront thinking. Whenever you add a new test parameter... More
WordPress Image Lightbox Plugin