~/devreads

#testing

61 posts

31 May

29 Apr

13 Apr

8 Apr

26 Mar

George Lund 4 min read

As software developers, we’ve all been there: a simple requirement change requires adding a tenantId field to your User model. It’s a five-minute code change, but suddenly, 458 tests are failing. It’s happening not because the logic is broken, but because the User model is used everywhere, and now the test data is invalid. I’ve […] The post Test Builders:…

unit testingtesting

17 Mar

4 min read

I was working with a readonly model in Rails the other day and ran into an issue whilst testing it. Here's what I ran into and the solution I came up with. Readonly models are a great way to signal that, well, you should only ever read them, not write them. Maybe you have some external system that connects to…

testingruby on rails

31 Jan

Henrik Warne 3 min read

For the last few months, I have been developing a new reporting application. Early on, I decided to add a –dry-run option to the run command. This turned out to be quite useful – I have used it many times … Continue reading →

programmingtestingcommanddry-run

21 Aug 2025

15 Jun 2025

7 Jan 2025

nstormann 12 min read

At Slack, customer love is our first priority and accessibility is a core tenet of customer trust. We have our own Slack Accessibility Standards that product teams follow to guarantee their features are compliant with Web Content Accessibility Guidelines (WCAG). Our dedicated accessibility team supports developers in following these guidelines throughout the development process. We…

uncategorizeda11yaccessibilityautomation-testingtesting

21 Feb 2024

Dave Cheney 1 min read

This morning a one line change had several of us tearing up the fabric of reality trying to understand why a failing test wasn’t failing, or, in fact, being run at all. Increasingly frantic efforts to upgrade/downgrade Go, run the tests on another machine, run the tests in CI, all served to only unnerve us […]

gotesting

20 Dec 2023

Allan Hunter 5 min read

The holiday season brings a huge spike in traffic for many companies. While increased traffic is great for retail business, it also puts infrastructure reliability to the test. At times when every second of uptime is of elevated importance, how can engineering teams ensure zero downtime and performant applications? Here are some key strategies and […]

software architecturetestingbfcmperformance testingquality assurance

12 Dec 2023

James Graham 3 min read

Puppeteer now supports the next-generation, cross-browser WebDriver BiDi standard. This new protocol makes it easy for web developers to write automated tests that work across multiple browser engines. The post Puppeteer Support for the Cross-Browser WebDriver BiDi Standard appeared first on Mozilla Hacks - the Web developer blog.

developer toolsfeatured articlefirefoxstandardstesting

19 Jun 2022

5 Apr 2022

Arpita Patel 13 min read

At Slack, the goal of the Mobile Developer Experience Team (DevXp) is to empower developers to ship code with confidence while enjoying a pleasant and productive engineering experience. We use metrics and surveys to measure productivity and developer experience, such as developer sentiment, CI stability, time to merge (TTM), and test failure rate. The DevXp…

uncategorizedautomationautomation-testingdeveloper-productivitytesting

12 Jan 2021

Maja Frydrychowicz 5 min read

It’s clear that WebDriver needs to grow to meet the capabilities of DevTools-based automation. However, that process will take time, and we want more developers to be able to run their automated tests in Firefox today. To that end, we have shipped an experimental implementation of parts of CDP in Firefox Nightly, specifically targeting the use cases of end-to-end testing…

developer toolsfeatured articleweb developersfirefoxtesting

28 Dec 2020

Henrik Warne 3 min read

Choosing test values when writing unit tests is mostly guided by the need to cover all cases of the program logic. However, some values are better than others. Here are a few tips on how to pick values that make … Continue reading →

testingunit testingunit-test

17 Dec 2020

Maja Frydrychowicz 9 min read

Testing web applications can be a challenge. At Mozilla, we see that as a call to action. With our commitment to building a better Internet, we want to provide web developers with the tools they need to build great web experiences – including great tools for testing. In this series of posts, we will explore the current web-application testing landscape…

developer toolsweb developersfirefoxstandardstesting

30 Aug 2020

Henrik Warne 5 min read

You have developed a new feature. The code has been reviewed, and all the tests pass. You have just deployed this new feature to production. So on to the next task, right? Wrong. Most of the time, you should check … Continue reading →

programmingtestingdeployingloggingproduction

10 Mar 2020

Dave Cheney 1 min read

The testing package is one of my favourite packages in the Go standard library, not just because of its low noise approach to unit testing, but, over the lifetime of Go, it has received a steady stream of quality of life improvements driven by real world usage. The most recent example of this is, in […]

goprogrammingtestingunit test

8 Dec 2019

Henrik Warne 8 min read

A few weeks ago I spoke at the EuroSTAR software testing conference in Prague. The conference had one and a half days of tutorials, followed by two and a half days of talks. Around a thousand people attended. I was … Continue reading →

testingconference

Dave Cheney 5 min read

This is a thought experiment in API design. It starts with the classic Go unit testing idiom: func TestOpenFile(t *testing.T) { f, err := os.Open("notfound") if err != nil { t.Fatal(err) } // ... } What’s the problem with this code? The assertion. if err != nil { ... } is repetitive and in the […]

gosmall ideastesting

22 Oct 2019

Jeff Benton 5 min read

We live in a day and age where consumers cannot access medication for their ailment because of cost. We are aware of the anecdotes related to delaying treatment. In the same way, some engineering teams are stuck with projects which are in an unhealthy testing state. The team goes on sprint after sprint with the situation getting worse, not better.…

testing

29 Sept 2019

Henrik Warne 4 min read

I like to use Test-Driven Development (TDD) when coding. However, in some circumstances, TDD is more of a hinderance than a help. This happens when how to solve the problem is not clear. Then it is better to first write … Continue reading →

programmingtestingtddtest-driven development

7 Aug 2019

Parth Shah 10 min read

Parth Shah and Thai Bui Overview One of the reasons why Hadoop jobs are hard to operate is their inability to provide clear, actionable error diagnostic messages for users. This stems from the fact that Hadoop consists of many interrelated components. When a component fails or behaves poorly, the failure will be cascaded to its […]

big datainternshipstestingchaos testshadoop

15 Jun 2019

Henrik Warne 5 min read

At the end of May I attended Nordic Testing Days in Tallinn, Estonia. It was the first time I spoke at a conference outside of Sweden, and I had a great time. There was one day with tutorials, and two … Continue reading →

testingconference

26 May 2019

Henrik Warne 7 min read

The book Accelerate details the findings of four years of research on how DevOps affects various outcomes, such as software delivery tempo and stability, as well as the organizations’ profitability and market share. DevOps in this context means things like … Continue reading →

programmingtestingworkbookbook review

14 May 2019

Dave Cheney 4 min read

In previous posts and presentations I talked about how to test, and when to test. To conclude this series of I’m going to ask the question, why test at all? Even if you don’t, someone will test your software I’m sure no-one reading this post thinks that software should be delivered without being tested first. […]

programmingtesting

7 May 2019

Dave Cheney 11 min read

I’m a big fan of testing, specifically unit testing and TDD (done correctly, of course). A practice that has grown around Go projects is the idea of a table driven test. This post explores the how and why of writing a table driven test. Let’s say we have a function that splits strings: // Split […]

goprogrammingtestingunit test

22 Apr 2019

jsmapr1@gmail.com (Joe Morgan) 11 min read

Mocks are a great way of preventing AJAX calls in tests, but they can also help you isolate side effects and impurities that can create complicated tests. As you learned in Part 1, mocks are a great way to handle external data or any data that is likely to change. Mocking external data will likely be your most common use…

jesttesting

28 Mar 2019

jsmapr1@gmail.com (Joe Morgan) 8 min read

Testing can be simple. In fact, it is simple. Well, it is simple until impurities slip in. Code that would be easy to test becomes a nightmare as soon as you get impure data (like date checks) or complex external dependencies (such as DOM manipulations or large 3rd party libraries). The part that tends to frustrate developers most is when…

testingjest

20 Feb 2019

12 Dec 2018

15 Oct 2018

4 Oct 2018

5 Jun 2018

Gary Spillman 7 min read

If you’ve followed our blog for some time, you’ve likely encountered posts detailing how to engage in various kinds of software testing, from performance to data-driven to security and more. This post continues that trend with a focus on testing your site for accessibility. What is Accessibility? If you are unfamiliar with the […]

testinga11yaccessibility

1 May 2018

27 Feb 2018

Gary Spillman 8 min read

Internet security is a topic that receives more attention every day. If you’re reading this article in early 2018, issues like Meltdown, Specter and the Equifax breach are no doubt fresh in your mind. Cybersecurity is a massive concern and can seem overwhelming. Where do you start? Where do you go? What do you do […]

testingnodejssecurity

15 Sept 2017

Gary Spillman 15 min read

If you’ve followed Bazaarvoice’s R&D blog, you’ve probably read some of our posts on web application performance testing with tools like Jmeter here and here. In this post, we’ll continue our dive into web app performance, this time, focusing on testing front end applications. API Response Time vs App Usability: Application UI testing in general […]

open sourcetestingperformance testing

5 Sept 2017

Seth Hubbell 8 min read

Language: Scala TestTool: Scalatest How did we get here? When systems become reasonably complex, tests must manage cumbersome amounts of data. A test case that may test a small bit of functionality may start to require large amounts of domain knowledge about the system being tested. This is often done through the mock data used […]

software architecturetestingdesignintegrationquality assurance

20 Aug 2017

Henrik Warne 5 min read

I recently found out about the book Developer Testing – Building Quality Into Software by Alexander Tarlinder, and I immediately wanted to read it. Even though I am a developer at heart, I have always been interested in software testing … Continue reading →

programmingtestingbookbook reviewdeveloper testing

14 Jul 2017

8 Jul 2017

Nikita Sobolev 7 min read

Some time ago I was faced with a task of testing a bash script. At first I decided to use Python unit-tests, however, I was reluctant to bring external technologies to the project. Therefore I had to go with the testing framework written in the notorious bash. Overview of the existing solutions After googling available solutions, I was presented with…

programmingbashtestingsoftware-developmentadministration

2 Jun 2017

24 May 2017

L 6 min read

The ability to generate mock but valid data comes in handy in app development, where you need to work with databases. Filling in the database by hand is a time-consuming and tedious process, which can be done in three stages — gathering necessary information, post-processing the data and coding the data generator itself. It gets really complicated when you need…

open-sourcetestingweb-developmentpythonsoftware-development

Seth Hubbell 7 min read

(Always One More Thing…) Who Are We? The Ad Management team here at Bazaarvoice grew out of an incubator team. The goal of our incubator is to quickly iterate on ideas, producing prototypes and “proof of concept” projects to be iterated on if they validate a customer need. The project of interest here generates reports […]

testingbackenddatabaseemodbmigration

3 Jan 2017

Tim Kelly 8 min read

This Bazaarvoice blog entry is co-authored by Tanvir Pathan as part of a Bazaarvoice internship project on the Bazaarvoice Mobile Team. Automated testing of native mobile applications has long been a pain point in the world of mobile app development. If you are creating and distributing apps or open source SDKs across two or more major platforms […]

internshipsopen sourcetestingmobile

16 Jun 2016

19 May 2016

Gary Spillman 15 min read

What is Load Testing and Why Should I Care? Somewhere between the disciplines of Dev Operations, Database Management, Software Design and Testing, there’s a Venn diagram where at its crunchy, peanut-butter filled center lies the discipline of performance testing. Herein lies the performant (sic) Which is to say, professional performance testers have a very specific […]

testingapachejavajmeter

10 May 2016

Dave Cheney 1 min read

This is a quick post to describe how you can use test fixtures, data files on disk, with the Go testing package. Using fixtures with the Go testing package is quite straight forward because of two convenience features built into the go tool. First, when you run go test, for each package in scope, the […]

goprogrammingfixturestesting

28 Apr 2016

11 Apr 2016

Dave Cheney 1 min read

What is the value of test driven development? Is the value writing tests at the same time as you write the code? Sure, I like that property. It means that at any time you’re one control-Z away from your tests passing; either revert your test change, or fix the code so the test pass. The nice property of this method…

programmingsmall ideastddtesting

22 May 2015

Dave Cheney 2 min read

This is a quick Friday blog post to talk about a recent experience I had working on a piece Juju code that needed to capture the data being sent over a net.Conn. Most Gophers know that the net package provides a net.Pipe function which returns a pair of net.Conns representing an in memory network connection. net.Pipe […]

goprogrammingmockingreaderstesting

4 Sept 2014

19 Feb 2014

Henrik Warne 2 min read

When I first heard about unit testing using a framework like JUnit, I thought it was such a simple and powerful concept. Instead of ad hoc testing, you save your tests, and they can be run as often as you … Continue reading →

testingunit testing

9 Feb 2014

Henrik Warne 8 min read

How can you unit test private methods? If you google this question, you find several different suggestions: test them indirectly, extract them into their own class and make them public there, or use reflection to test them. All these solutions … Continue reading →

testingprivate methodunit testing

27 Jan 2014

Henrik Warne 6 min read

Here is the story of a bug that I caused, found, and fixed recently. It is not particularly hard or tricky, and it didn’t take long to find and fix. Nevertheless, it did teach me some good lessons. The Bug … Continue reading →

debuggingtestingbugstack tracetrace

8 Dec 2013

Henrik Warne 3 min read

Many programmers have a hard time writing good unit-tests for code that involves time. For example, how do you test time-outs, or periodic clean-up jobs? I have seen many tests that create elaborate set-ups with lots of dependencies, or introduce … Continue reading →

programmingtestingtddtest-driven developmenttime

30 Jun 2013

Dave Cheney 4 min read

This post continues a series on the testing package I started a few weeks back. You can read the previous article on writing table driven tests here. You can find the code mentioned below in the https://github.com/davecheney/fib repository. Introduction The Go testing package contains a benchmarking facility that can be used to examine the performance […]

goprogrammingbenchmarktesting

5 May 2013

23 Sept 2012