Want to try Screenster on the cloud?

Blog

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

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 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

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... More

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

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

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

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

The two founding pillars of software testing, verification and validation are the two terms that each and every tester knows. As far as the former term is concerned, we have great news — and an awesome feature that the Screenster users will love. Specifically, we’ve added a new verification mode for more flexibility in UI regression testing. How it used to be: verification of everything on a page As you probably know, one of the cool things about Screenster is that it automatically verifies everything on a web page. To do this, we’ve built an algorithm that combines screenshot comparison, DOM processing, UI/DOM verification, and self-healing element locators. When automating a UI test, Screenster doesn’t just record and replay UX scenarios or compare screenshots. Unlike most record/playback IDEs, our platform analyzes every on-page element and warns you if any of these elements doesn’t look right. Moreover, Screenster can tell you whether it’s a visual bug or altered content that caused the failed test. In other words, you’ll know if there is a bug even if your test doesn’t target this part of the UI explicitly. On top of that, you’ll also get a pretty clear picture of what has caused... More

Table of Contents What is end-to-end testing? End-to-end testing versus system testing End-to-end test example: signing in to Google How to do end-to-end testing? End-to-end-testing automation End-to-end testing on paper and in real life End-to-end testing example: Gmail Automated end-to-end testing, codeless style What is end-to-end testing? End-to-end testing (e2e testing) is a software quality assurance methodology that targets “the flow of an application” functionality- and performance-wise. This methodology checks if an application performs as designed on all levels and across all subsystems. The scope of end-to-end testing encompasses the application in its entirety, as well as its integration with external interfaces and outside applications. Okay, but doesn’t this ring a bell? Whenever someone talks about testing software in its entirety, doesn’t it make you think of system testing? As a matter of fact, novice testers tend to confuse end-to-end testing and system testing due to their seemingly similar scopes. This said, the two couldn’t be more different. End-to-end testing versus system testing Comparing end-to-end testing and system testing, the latter actually has a narrower focus. For this reason, it makes more sense to look at what system testing covers and proceed to what’s added in end-to-end testing. System Testing... More