Category: Testing

  • Deep dive looking for good enough reliability models

    A previous post summarised the main highlights of my trawl through the software reliability research papers/reports/data, which failed to find any good enough models for estimating the reliability of a software system. This post summarises a deep dive into the technical aspects of the research papers. I am now a lot more confident that better […]

  • How Do I Test This?

    I’ve no idea where I first came across the following premise for when starting a new code change: “First ask yourself, how do I test this?” I had assumed it was Steve Maguire’s Writing Solid Code or Debugging the Development Process as these are tw…

  • Running Jest tests in VS Code with custom environment variables

    Currently the most popular Jest test runner extension for VS Code is vscode-jest by Orta. For most common setups, this extension works without any configuration needed to VS Code. In my case, though, I needed to enable Node’s support for ECMAScript modules. The Jest documentation lists a few ways to …

  • Running Jest tests in VS Code with custom environment variables

    Currently the most popular Jest test runner extension for VS Code is vscode-jest by Orta. For most common setups, this extension works without any configuration needed to VS Code. In my case, though, I needed to enable Node’s support for ECMAScript modules. The Jest documentation lists a few ways to …

  • Weekend Maintenance as Chaos Engineering

    I was working on a new system – a grid based calculation engine for an investment bank – and I was beginning to read about some crazy ideas by Netflix around how they would kill off actual production servers to test their resilience to failure. I reall…

  • Weekend Maintenance as Chaos Engineering

    I was working on a new system – a grid based calculation engine for an investment bank – and I was beginning to read about some crazy ideas by Netflix around how they would kill off actual production servers to test their resilience to failure. I reall…

  • Validate in Production

    The change was reasonably simple: we had to denormalise some postcode data which was currently held in a centralised relational database into some new fields in every client’s database to remove some cross-database joins that would be unsupported on th…

  • Validate in Production

    The change was reasonably simple: we had to denormalise some postcode data which was currently held in a centralised relational database into some new fields in every client’s database to remove some cross-database joins that would be unsupported on th…

  • The Primacy of Testability: Modularity

    In the first post in this series I set the stage for a discussion of how testability can serve as a proxy or enabler for other, more directly desirable qualities in a software system. In this post I’d like to look at the first such quality, modularity.

    Modularity is perhaps …

  • The Primacy of Testability: Modularity

    In the first post in this series I set the stage for a discussion of how testability can serve as a proxy or enabler for other, more directly desirable qualities in a software system. In this post I’d like to look at the first such quality, modularity.

    Modularity is perhaps …

  • The Primacy of Testability

    The job of a software architect [1] is difficult, just like almost every role in software development. They have to keep track of many subtly interacting quality attributes, often on multiple projects, any one of which may be too big or evolving too quickly to meaningfully keep in mental cache …

  • The Primacy of Testability

    The job of a software architect [1] is difficult, just like almost every role in software development. They have to keep track of many subtly interacting quality attributes, often on multiple projects, any one of which may be too big or evolving too quickly to meaningfully keep in mental cache …