💡 Intro


Hello and welcome to another issue of Test Automation Weekly. Today we have news, articles, tools update, and more. Want something mentioned? Tweet us at @testingdigest. Happy reading!


If you'd like to support Test Automation Weekly please share this issue with friends and colleagues. Don't forget to subscribe to our newsletter to stay up to date on all news.

📚 Articles, Tutorials, and Opinions


Writing clean JavaScript tests with the BASIC principles — Production code, the main code where the features live, might not be perfect. That’s a risk or a debt that teams manage in multiple ways. For testing code, the risk is much more dramatic — It can be abandoned altogether. Vanish, gone, not doing anything anymore. Hundreds of coding hours, meetings, and sweat can just get lost.

Yoni Goldberg


Site Isolation and how Playwright handles it — In a nutshell, Site Isolation makes sure that the page loaded from Evil.com can't steal data of the page loaded from YouTube. This topic goes back to 2008-2009 when Chromium started running web pages from different origins in different processes. That way if you have two tabs, YouTube.com and Evil.com, they would not run in the same OS process.

Pavel Feldman


SQL 101 The Ultimate Guide For QAs — This guide will explain what database and SQL are, and what are the basic concepts you should learn before starting. You will also learn the main SQL commands and practices using the SQL Fiddle tool.

Paulo Oliveira


How to Automate Gesture Testing with Appium — This article discusses the evolution of touch gestures and how you can simplify the way you perform automated tests for gestures using a new plugin in Appium 2.0.

Sai Krishna and Srinivasan Sekar


To Go Deep, Start Shallow — As testers, it’s our job to help to shine light on business risk. Some business risk is driven by problems that we’ve discovered in the product—problems that could lead to disappointed users, bad reviews, support costs… Michael Bolton


Selenium Grid 4 and Appium — Selenium Grid 4 is already in the prerelease stage. That means that now is a great time to check updates on your current project and be ready for the changes and new features. Dmytro Budym


Running Puppeteer with Jest on Github actions — Puppeteer is a library that exposes an API for chrome and chromium, I will walk you through the process of creating Github actions (Github’s CI/CD pipeline solution) that can run integration tests using jest, running it inside a container, and producing coverage report.

Liron Navon


Migrating Selenium system tests to Cuprite — In our project, we’ve been running system tests (then called rather "Feature tests") since around 2016. System tests use a real browser in the background and test all layers of a Rails application at once: from the database all the way up to the nuances of JavaScript loaded together with the web pages.

Matouš Borák


Testing with Spirit — There are many testing methodologies and even more testing frameworks. This is not about one of them. This is rather about somewhat pragmatic duct-tape-thermal-glue approach to testing services that use the spirit libraries.

Michal Vaner


Asserting valid and invalid requests in Laravel — Testing a Laravel project is one of the most pleasant experiences I've ever had: there's a clean testing API, a very powerful layer added on top of testing frameworks; all while keeping the simplicity and eloquence you'd expect from a Laravel project.

Brent Roose


Faster Maven builds — I want to detail some techniques you can leverage to make your Maven builds faster in this post. The following post will focus on how to do the same inside of Docker.

Nicolas Fränkel


Everything You Need To Know About Software Testing — In this post, I’ll go over some software testing fundamentals that you should be aware of.

Sam


Dynamic API Tests Using Cypress-Each Plugin — In this blog post Gleb will refactor a test to create independent data-driven tests using cypress-each plugin.

Gleb Bahmutov


The Fundamentals of Testing with Persistence Layers — It is well known in our industry that mocking out dependencies such as databases and other persistence layers lead to ineffective tests. One simply cannot test the interactions between two components if one of those components isn’t actually part of the test. Jonathan Allen


Reasons to avoid RandomStringUtils for test data generation — In this article, we will try to solve one of the worst practices used on tests at any level: fixed/hard-coded data. Elias Nogueira


Adopting Cypress — Tips to improve your code’s quality & performance.

KS

💻 Jobs


Staff Test Engineer (Charlotte, NC)

You’ll be focused on co-creating life changing financial products for our members, spanning both our web and mobile platforms. You'll be a passionate member of the team who wants to have high impact; proactively assessing and mitigating risks. You’ll be solving big quality challenges and creating a long term vision of quality for our members, creating the best experience possible.

Credit Karma


Post your job with us.

🛠 Code, Tools and Resources


Fast-check — Property based testing framework for JavaScript (like QuickCheck) written in TypeScript.

Nicolas Dubien


percollate — A command-line tool to turn web pages into beautiful, readable PDF, EPUB, or HTML docs.

Dan Burzo


Inbucket — Is an email testing service; it will accept messages for any email address and make them available via web, REST and POP3 interfaces.

Inbucket


Test Kitchen — Is an integration tool for developing and testing infrastructure code and software on isolated target platforms.

Test Kitchen

🗓 Events


TestFlix-2021 — The Global Annual Software Testing Binge. A 2-day virtual event that will be in the form of short, impactful pre-recorded talks from 100+ speakers across the world. As an outcome, participants can expect 400+ takeaways, networking with thousands of testers from across the world, and other interesting activities The Test Tribe | Free | 23rd & 24th October 2021


🎬 Videos


Serverless Load Testing with Artillery — The following video by AWS Community Builder Lee Gilmore describes how you can load test your serverless applications using Artillery and the Serverless Framework. YouTube


Parallel testing with Ractors — Parallelizing tests is an opportune way of reducing the total runtime for a test suite. Rails achieves this by forking multiple separate workers that fetch tests from a queue. YouTube


Read a paper: Property-based testing — Koen Claessen and John Hughes. 2000. QuickCheck: a lightweight tool for random testing of Haskell programs. YouTube


🎧 Podcast

Automated website testing with Ghost Inspector — In an ideal world you’ll never hear from Ghost Inspector again because everything always works, but it’s a great insurance policy to know that it’s got your back and will update you before you get the angry call from the client who wants to know just how long that form has been broken. Nathan Wrigley and Justin Klemm


Automation Engineering Productivity — Discover how to increase software development productivity with development workflow, including test automation, infrastructure, and efficient product delivery. Joe Colantonio and Dushyant Acharya


Bringing tests into vanilla PHP apps, trust over process, and seeding tests — In this episode, Jake and Michael discuss the all the work to consider before introducing tests to a vanilla PHP app, trusting people over adding layers of process, and seeing data in your tests and migrations. Jake and Michael

🐦 Tweet



🎪 Memes