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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Post your job with us.
🛠 Code, Tools and Resources
percollate — A command-line tool to turn web pages into beautiful, readable PDF, EPUB, or HTML docs.
Inbucket — Is an email testing service; it will accept messages for any email address and make them available via web, REST and POP3 interfaces.
Test Kitchen — Is an integration tool for developing and testing infrastructure code and software on isolated target platforms.
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
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
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