1949
Turing frames checking a large routine
Alan Turing's paper treated checking a large routine as a distinct problem. It established an early foundation for reasoning about whether program behavior matches its intended operation.
Software development
How the field of a Quality Engineer got here: the sourced milestones from every published course of this career, on one axis.
1949 to 2025
188 milestones across 20 courses
The axis stretches toward recent years, where most milestones fall. Bars count milestones per year; dots are single milestones.
12 milestones
1949
Alan Turing's paper treated checking a large routine as a distinct problem. It established an early foundation for reasoning about whether program behavior matches its intended operation.
1968
The NATO Software Engineering Conference documented the difficulty of producing reliable software at scale. Testing became part of a broader engineering response to quality and verification problems.
1972
The Chapel Hill symposium collected work on program test methods and validation. It made testing methods a more visible subject of shared professional practice.
1976
Glenford Myers published a contrasting view that developers should not test their own code. The later TDD practice restored developer-written tests as part of programming.
1979
Glenford Myers presented testing as a discipline focused on finding errors rather than demonstrating that a program works. The framing influenced test-design teaching and practice.
1983
IEEE 829 defined basic documents for dynamic software testing. It made test documentation a recognized part of organizing test work.
1988
The article traced changing testing goals from debugging toward defect detection, evaluation, and prevention. It documented how testing had expanded beyond a final coding activity.
1988
Cem Kaner popularized the term exploratory testing in Testing Computer Software, adapting ideas related to exploratory data analysis into software testing practice.
1988 Aug 10
Eight companies formed the TPC to define reviewable transaction-processing benchmarks and publish verifiable performance results.
1988 Nov 14
Workstation vendors created SPEC to replace inconsistent vendor claims with realistic, standardized comparative tests.
1989
Kent Beck's Smalltalk framework established the fixture-and-assertion structure later shared by xUnit frameworks. It made automated checks a routine part of writing a small unit of code.
1989 Nov
The TPC published its first benchmark with transaction response-time and price reporting rules, making review conditions part of the result.
13 milestones
1991
A testing framework created at Taligent had strong similarities to the later SUnit design. Framework support made repeatable developer tests practical.
1993
James Bach's conference talk examined why informal, unscripted testers often found important bugs. It marked an early public attempt to rehabilitate ad hoc investigation as skilled work.
1994
Beck wrote SUnit for a Smalltalk consulting client. The framework supplied the xUnit-style mechanics used in his emerging test-first practice.
1995 Oct
Beck demonstrated the practice for Ward Cunningham at the OOPSLA conference in Austin. This bounds his rediscovery of TDD between the 1994 SUnit work and the demonstration.
1996
Bach designed a class focused explicitly on exploratory testing. That material became a core of the Rapid Software Testing methodology and spread ET teaching beyond conference talks.
1997
Kent Beck and Erich Gamma released JUnit for Java. The framework helped make test methods, fixtures, and assertions a familiar part of everyday Java development.
1997
JUnit made repeatable automated unit tests a standard part of Java development workflows. Its conventions helped integrate automated checks with ordinary programming work.
1997
JUnit 0 uses TestCase subclasses and test-prefixed methods. It gives Java developers a repeatable test framework built around executable checks.
1998
An early Extreme Programming article described writing the test before implementation. Test-first programming became part of the method's development rhythm.
1998
Practitioners developed the idea through discussion on the C2 Wiki. The emphasis expanded from test order toward tests guiding design and implementation.
1998 Dec
IEEE revised 829 and defined the purpose, outline, and content of basic test documents. It retained a documentation focus without prescribing a testing methodology.
1998 Dec 15
The initial JMeter release established an open Java tool for generating application load and measuring responses.
1999 May 5
W3C published a common set of accessibility guidelines with checkpoints and priority levels. Evaluators gained a shared baseline for reviewing web content.
46 milestones
2000
Roy Fielding's dissertation at the University of California, Irvine defined the Representational State Transfer architectural style. It gave resource-oriented HTTP APIs the vocabulary that most API tests still assume.
2000
Mock Objects emerged among the techniques developed around test-first work. They made collaborator interactions controllable and verifiable inside a focused test.
2000
James and Jonathan Bach developed SBTM while supporting demanding exploratory work at Hewlett-Packard. Charters, uninterrupted sessions, and session sheets made informal testing reviewable without freezing every step.
2000 Sep
The article described a shared source point, automated build and test, and daily integration. It gave teams a concrete CI practice reference beyond scheduled builds.
2000 Sep
Claessen and Hughes presented properties as Haskell functions checked against generated inputs. The design established the property, generator, runner, and counterexample pattern used by later libraries.
2001
Bach expanded exploratory teaching into the Rapid Software Testing class. The curriculum treated exploration as skilled scientific investigation rather than as a temporary substitute for scripts.
2001 Dec
OWASP launched as an open community focused on improving software security. Its projects made application-security guidance broadly accessible to development teams.
2001 Dec 1
OWASP launched as an open foundation for software security projects and guidance. Its later testing standards and tools gave practitioners shared public test material.
2002
ISTQB was established as an international organization for software tester certification. Its syllabi spread common testing vocabulary.
2002
JUnit 3 becomes the next major Java baseline. The framework family becomes a familiar way to organize automated component checks.
2002
The original guide included material for web application penetration testing. That testing material later moved into the dedicated Web Security Testing Guide.
2002
The first Developer Guide established an early developer-facing reference for secure development practice.
2003
Fit and FitNesse helped acceptance test-driven development become an accepted practice. Examples moved toward collaboration among customer, development, and testing perspectives.
2003
Kent Beck's book presented the method through worked examples and named patterns. It became the central long-form reference for the red-green-refactor discipline.
2003
OWASP began the project that became a structured web application testing framework. It separated detailed testing practice from the broader Developer Guide.
2003
Mike Cohn developed the test automation pyramid in conversations with Lisa Crispin during 2003 and 2004. The metaphor connected test granularity to a portfolio rather than a single test type.
2003 Jun
The first Burp release combined an intercepting proxy with tools for inspecting and replaying web traffic. Manual web testing gained an integrated workstation model.
2003 Oct
NIST documented a consistent approach to network security testing, including technique selection and prioritization. The publication established a public baseline for running a testing program.
2004
The project added a server path that accepted commands from language-specific clients and worked around same-origin restrictions. This became the foundation for Selenium Remote Control.
2004
The py project renames std.utest to py.test and establishes collection concepts that remain in pytest. Python testing moves toward plain assertions and detailed failure output.
2004
Selenium began at ThoughtWorks as a reusable tool for testing a web application. It helped establish open-source browser automation as a common option for dynamic testing.
2004
Jason Huggins created JavaScriptTestRunner for an internal application, and the work became the open-source Selenium project. Browser-driven checks gained a reusable project and community.
2004
Jason Huggins created JavaScriptTestRunner for an internal application, then the project was opened for broader use. Its in-page JavaScript model established Selenium's first browser automation approach.
2004 Dec
The first Testing Guide release organized web security testing into a shared reference. Practitioners could base engagement coverage on named test areas.
2005
Hudson introduced a Java-based open-source CI server and became a widely used alternative to CruiseControl. CI automation moved toward extensible build servers that teams could operate themselves.
2006
Practitioners including Bach, Kaner, Bolton, and Hendrickson met to pressure-test shared definitions. The summit exposed shallow agreement on wording and pushed toward more precise descriptions of ET practice.
2006
JUnit 4 uses Java 5 annotations such as Test. Test authors no longer depend on the earlier naming convention to mark test methods.
2006
Selenium Core was wrapped in a Firefox extension for record and playback, while a team worked toward Core 1.0. Browser automation became accessible without first writing a client program.
2006
Simon Stewart began a browser-control approach that used native browser capabilities instead of injecting all control through page JavaScript. This created a second automation architecture alongside Selenium Remote Control.
2006 Jun 12
Ian Robinson distinguished provider, consumer, and consumer-driven contracts for service evolution. The consumer-driven contract became the provider contract derived from the union of consumer expectations.
2006 Sep
Dan North published an account of behavior-driven development as a response to difficulties teaching TDD. The approach emphasized behavior language and examples that connect stakeholders and developers.
2006 Dec
The second release expanded and revised the community testing framework. It continued the move from informal checklists toward maintained test guidance.
2007
Simon Stewart presented WebDriver, which controlled browsers outside the page's JavaScript environment. Compatibility work led toward merging WebDriver with Selenium.
2007 Jan
Martin Fowler separates state verification with stubs from behavior verification with mocks. The distinction sharpens decisions about when an interaction is part of a test contract.
2008
After summit follow-up, Kaner published a widely endorsed definition emphasizing tester freedom and responsibility with parallel learning, design, execution, and interpretation.
2008
The two projects combined their communities and roadmaps. The merger set the direction for WebDriver APIs to replace the original Selenium Remote Control approach.
2008
SmallCheck and Lazy SmallCheck checked every value up to an increasing depth instead of sampling random values. Property-based testing gained a systematic generation alternative for small domains.
2008 Jul
IEEE 829-2008 tied test-documentation breadth and depth to test-process tasks and integrity levels. It superseded the 1998 edition.
2008 Sep
Version 3 updated the web testing framework before the later version 4 restructuring. Versioned scenarios made cited test coverage easier to track.
2008 Sep 30
NIST broadened its guide from network testing to technical information security testing and assessment. Planning, execution, analysis, reporting, and mitigation became one documented assessment process.
2008 Dec 11
WCAG moved to technology-neutral, testable success criteria with separate supporting guidance. Audits could state conformance at Levels A, AA, or AAA against a stable standard.
2009
Michael Bolton's Testing vs Checking essay separated algorithmic confirmation from investigative testing. The distinction sharpened how teams talk about automation beside exploratory work.
2009
The first devopsdays conference brought software development and operations together as one technical conversation.
2009
Mike Cohn's book described the test automation pyramid, which was then commonly shortened to the test pyramid. Teams used it to discuss the balance between focused and broad tests.
2009 Mar
OpenSAMM introduced a maturity-model approach to software assurance and capability assessment.
2009 Aug
py 1.0 introduces funcargs, fixtures, and a plugin architecture. These features make reusable setup and controlled test environments part of the Python testing workflow.
72 milestones
2010
ZAP provided an open-source intercepting proxy and web application scanner under OWASP. Manual and automated dynamic tests could share one extensible tool.
2010 Jun
Google's testing blog showed an incremental integration approach that tests two components together before expanding the scope. It emphasized keeping the increment small enough to diagnose failures.
2010 Nov
pytest 2.0 is released as a package separate from py. The tool gains its own distribution path while retaining its test-running role.
2010 Dec
Google described Small, Medium, and Large tests with explicit limits on network, database, filesystem, and timing behavior. The model made speed and determinism enforceable properties rather than labels alone.
2011
CircleCI launched as CI/CD was still a niche practice for a smaller set of teams. Its arrival broadened the set of hosted CI options alongside self-managed servers.
2011 Jan
The project proposed moving from the Hudson name to Jenkins after a dispute over trademark control. The renamed project retained the community-driven CI server lineage.
2011 Jan 12
Martin Fowler described contract tests as checks that test doubles still match the real external service. A failing contract test signals that the doubles and the consumer code need updating.
2011 Jul 8
Selenium 2.0 delivered stable WebDriver APIs for several languages while retaining compatibility with Selenium 1. The merged architecture became available as a mainstream release.
2011 Jul 8
Selenium 2.0 made WebDriver APIs a stable part of the project and included Grid support for distributed execution. The release retained compatibility for Selenium 1 users during migration.
2011 Aug
SPDX published its first specification for packages, establishing a shared format for recording software package information.
2011 Aug 10
The first Swagger Specification described HTTP APIs in a machine-readable format. Later test generators, mock servers, and schema validators build on this lineage.
2011 Sep
PropEr integrated Erlang types and function specifications with property-based generation. Existing specifications could participate directly in the valid-input model.
2011 Nov
JMeter gained its own Apache project management committee and dedicated project governance.
2012
Abhinav Asthana publishes an early Postman Chrome app to simplify repeated API calls that teams were rebuilding with curl. Public adoption begins from that side project.
2012
A side project for testing and debugging APIs was published on the Chrome Web Store and announced in a Stack Overflow answer. It made interactive request building and scripted checks a common first step in API testing.
2012 May
Martin Fowler explained the pyramid as a balance with more low-level tests than broad GUI tests. The discussion connected higher-level tests with slower execution and greater brittleness.
2012 Dec 17
Browsers gained a standardized interface for navigation timing, making client-side timing evidence portable across implementations.
2013
Postman's own platform timeline marks browser-based debugging plus reusable collections that others can run as the first durable workflow.
2013
Dependency-Track began as a project for analyzing software bills of materials, moving composition data toward ongoing project-level risk tracking.
2013
Elisabeth Hendrickson's Explore It! gave practitioners concrete charter patterns and session tactics. ISTQB syllabi later cite it among primary exploratory-testing references.
2013
The ISO/IEC/IEEE 29119 series organized common concepts, processes, documentation, and test-design techniques into international software-testing standards. It provided a shared structure for testing work across organizations.
2013
A development team wrote Pact to handle integration testing across new Ruby microservices. It introduced consumer-driven contract testing, where consumer tests generate the contract that the provider verifies.
2013
A development team at realestate.com.au wrote Pact, which generated the contract from consumer tests. Provider states followed, so one request could be verified under different provider conditions.
2013 Jan
GitLab CI 2.0 changed its job processing so separate projects could run builds concurrently. This improved the feedback loop for teams using CI alongside their Git repositories.
2013 Aug
Part 2 specified generic processes for governing, managing, and implementing software testing across lifecycle models.
2013 Nov
Buildbox, the original Buildkite product name, left beta and opened signup without an invitation. Hosted CI became more accessible to teams that did not want to run every control-plane component themselves.
2014
Collections become a standardized runnable unit on the desktop and via a command-line runner for CI. The co-founders incorporate as interest and funding accelerate.
2014
Postman collections became a standardized way to define, save, and run one or many API requests. A saved set of requests with tests could now run as a suite rather than one call at a time.
2014 Mar 20
WAI-ARIA standardized roles, states, and properties for dynamic interfaces. Accessibility tests increasingly examined both interaction behavior and semantics exposed to assistive technology.
2014 Jun
Work that became Cypress began with an initial commit on 5 June 2014, starting a private path toward in-browser test automation.
2014 Jun 5
Development of Cypress began with a first commit. The project pursued an in-browser runner aimed at modern web application testing.
2014 Jul 10
The methodology documented scope definition, site exploration, representative sampling, auditing, and reporting. It supplied a repeatable structure for sampled website conformance evaluation.
2014 Sep
Version 4 presented a complete testing framework and detailed technical scenarios. The guide also emphasized integrating security testing across the software development life cycle.
2014 Sep
Researchers used generated properties to guide increasingly complex abstract-machine models and reported short counterexamples for more than forty-five seeded defects. The work demonstrated property-based testing as a design tool for formal systems.
2015
Published documentation and multi-language snippets turn a collection into consumer-facing API guidance as well as a test artifact.
2015
Google's testing guidance explained the maintenance and execution costs of a strategy dominated by end-to-end tests. It reinforced choosing test levels according to feedback needs rather than automating every scenario at the same scope.
2015
Part 4 provided the test-technique part of the ISO/IEC/IEEE 29119 series.
2015 Mar
Sync backs up collections to Postman's cloud and lets teammates share the same request libraries instead of trading JSON files by hand.
2015 Apr
Google advised replacing unnecessary end-to-end checks with smaller integration tests when they detect the same defect. The advice sharpened the distinction between a seam test and a full journey.
2015 May
SPDX 2.0 added multiple packages and relationships, making exchanged inventory more useful for components introduced through the supply chain.
2015 Nov
The Thoughtworks Technology Radar placed consumer-driven contract testing in its Adopt ring. It described these tests as an essential part of a mature microservice testing portfolio.
2016
Hypothesis 3.0 moved from a classic QuickCheck-style implementation to a byte-stream representation. The representation unified generation, replay, and shrinking across composed strategies.
2016
Scheduled monitoring extends runners so contract and integration checks can run continuously without a developer clicking Send.
2016 Jul
The first JUnit 5 milestone release introduced the modern JUnit Platform and Jupiter direction. It separated the platform for running tests from the programming model for writing them.
2016 Sep 23
Spring Cloud Contract reached general availability with a contract DSL, generated acceptance tests, and WireMock stubs. It brought consumer-driven contracts to Spring applications for HTTP and messaging.
2016 Oct 13
Selenium 3 replaced the original Core implementation with WebDriver-backed behavior. Major browser vendors were then shipping their own driver implementations.
2017
JUnit 5 sets a Java 8 baseline and supports lambda-based dynamic tests. The platform separates test engines from the tools that discover and run tests.
2017
Mocking lets teams serve example-backed responses from a collection so clients can integrate before the real service is ready.
2017 Jan 18
The United States Access Board updated federal information and communication technology requirements and coordinated them with WCAG and international standards. Federal compliance with the revised standards was required one year later.
2017 Feb
k6 brought JavaScript test code, a command-line interface, and automation-oriented execution into the performance-testing tool market.
2017 Feb 9
Peter Thomas released Karate while leading an API platform team at Intuit. It expressed API tests in a Gherkin-style syntax that did not require a general-purpose programming language.
2017 Jul
Targeted property-based testing combined generators with search-based optimization. Practitioners could guide exploration toward extreme values instead of relying only on the initial distribution.
2017 Jul 26
The first OpenAPI major version after the Swagger donation revised the description structure and added Link objects that describe relationships between operations, which stateful test tools later follow.
2017 Oct
Cypress 1.0.0 opened the project from private beta, open-sourced the runner stack, and lifted prior access restrictions for local use.
2017 Oct 10
Cypress opened its source and public beta after years of private development. Its runner, desktop application, reporter, and supporting adapters became available to the wider community.
2018
Workspaces become the collaboration boundary, with comments and search across collections and APIs for larger teams.
2018 Feb
Martin Fowler's practical guide presented unit, integration, contract, UI, and end-to-end checks as different feedback mechanisms. It showed database and service boundaries as focused integration targets.
2018 Mar
CycloneDX introduced a general-purpose, security-focused bill of materials format for software and hardware components.
2018 Jun 5
The update added success criteria addressing mobile use, low vision, and cognitive and learning disabilities. Existing audit programs could extend their WCAG 2.0 baseline without discarding it.
2018 Jun 5
W3C standardized platform-neutral and language-neutral interfaces and a wire protocol for remote browser control. Tool and browser implementations gained a common standards target.
2018 Aug
Researchers applied branching-process mathematics to predict constructor counts in recursive QuickCheck generators. Generator distribution became something that could be analyzed before execution.
2018 Sep 20
Cypress declared its test runner generally available and retained the runner as free, open-source software. The accompanying service added hosted recording and parallel execution features.
2018 Oct
Cypress launched commercially, pairing the open-source runner with a paid service path for teams adopting it beyond local experimentation.
2018 Oct
GitHub announced Actions as a way to automate and customize development workflows from the repository platform. CI configuration could now sit directly beside pull requests, source, and repository events.
2018 Oct
GitHub introduced GitHub Actions as a limited public beta. Repository automation became a first-class GitHub capability.
2018 Dec 9
The specialist syllabus consolidated performance test types, workload modeling, measurement, planning, execution, and tool selection into a public curriculum.
2019
Design support for OpenAPI, RAML, and GraphQL lands alongside a public network where producers publish collections for consumers to discover.
2019 May 29
OWASP published a top-ten list dedicated to API risks, led by Broken Object Level Authorization. It gave API test suites a shared checklist for authorization and abuse cases.
2019 Aug
The beta added built-in CI/CD with hosted Linux, macOS, and Windows runners. This established the runner model for build and test jobs.
2019 Oct 31
The format gave automated tools and manual methodologies a common way to document and share test rules. Tool results became easier to compare with explicit rule assumptions and examples.
2019 Nov
GitHub made Actions generally available and announced self-hosted runners, artifact caching, and ARM support. Teams could choose hosted or self-managed execution while keeping workflow definitions in GitHub.
2019 Nov
The Journal of Open Source Software published Hypothesis as a new approach to property-based testing. The paper documented its generation and test-case-reduction architecture for engineering and research use.
45 milestones
2020
Enterprises get an internal catalog for microservice discovery, while public workspaces let producers expose forkable API work to the world.
2020 Jan
OWASP SAMM 2.0 organized improvement around governance, design, implementation, verification, and operations.
2020 Feb 24
Pact introduced pending pacts, whose verification failures no longer fail the provider build, and work in progress pacts built on them. A consumer's changed expectations stopped blocking the provider pipeline.
2020 Apr
NIST published secure-development practices intended to integrate with each software development lifecycle implementation.
2020 May
SPDX 2.2 added SPDX Lite and support for package URLs and container images, improving practical software inventory exchange.
2020 May 6
Playwright reached its first stable major release with bundled Chromium, Firefox, and WebKit builds. One automation API could target the three browser engines.
2020 Nov
Cypress 6.0 introduced cy.intercept as generally available network stubbing and spying, covering fetch and navigations beyond the older XHR-focused cy.route model, and deprecated cy.server and cy.route.
2020 Dec
Environments added protection rules and scoped secrets to deployment targets. Deployment approval became workflow configuration.
2021
Vitest starts as a test runner designed for Vite projects. JavaScript and TypeScript teams gain a runner aligned with their build environment.
2021
Protocol support expands beyond classic HTTP toward WebSockets and a repositioning of Postman as a multi-protocol API platform with deeper lifecycle integrations.
2021 Feb 15
OpenAPI 3.1.0 made its Schema Object fully compatible with JSON Schema Draft 2020-12 and replaced the nullable keyword with type arrays. Validators and generators had to support the new schema dialect.
2021 Apr
GitHub added concurrency controls for workflow runs and jobs. Teams could cancel or queue overlapping work through YAML.
2021 May
CycloneDX 1.3 added composition data that can state whether the recorded inventory is complete, incomplete, or unknown.
2021 May
The order established baseline security standards for software sold to the US government and called for greater software visibility.
2021 Jun
Google recommended a solid base of unit tests, integration testing for groups of components, and end-to-end checks for critical user journeys. The guidance treated the layers as complementary rather than substitutes.
2021 Jun
The acquisition joined synthetic workload generation with a broader metrics and visualization ecosystem for correlated test analysis.
2021 Jul 4
The Pact Broker added first-class branches, environments, deployments, and releases, with record-deployment and record-release replacing tags. Mobile apps and APIs could then share one can-i-deploy workflow.
2021 Aug
Cypress documented experimental session caching so suites could restore cookies and web storage instead of repeating full UI logins every test.
2021 Aug
ISO/IEC 5962:2021 recognized SPDX Specification version 2.2.1 as an international standard.
2021 Sep
Ephemeral runners and workflow_job webhooks enabled single-job self-hosted runners that autoscalers can manage.
2021 Oct
The second edition replaced the 2013 test-process standard and continued to define processes for governing, managing, and implementing testing.
2021 Oct 13
Selenium 4 introduced a redesigned Grid with standalone, hub-and-node, and distributed operation plus GraphQL and OpenTelemetry support. It also added relative locators and new browser integration APIs.
2021 Oct 13
Selenium 4 rebuilt Grid for standalone and distributed operation and added browser-facing capabilities while preserving stable public APIs. End-to-end suites gained a modernized remote execution layer.
2021 Nov
Reusable workflows gained outputs, environment-secret support, and audit-log visibility. Organizations could centralize workflow logic.
2022 Jan
CycloneDX 1.4 added vulnerability disclosure and exploitability exchange support, connecting inventory data to vulnerability communication.
2022 Jan
The second edition replaced the 2013 general-concepts standard and refreshed the common concepts for the series.
2022 Feb
SP 800-218 replaced the original SSDF white paper and added secure-environment, provenance, and requirements guidance.
2022 Mar 4
PactFlow launched Bi-Directional Contract Testing as a PactFlow-exclusive feature. It compares a consumer contract with a provider's published specification instead of replaying consumer interactions.
2022 Apr 5
SmartBear announced a definitive agreement with DiUS to acquire PactFlow and its companion open source project, Pact.
2022 May
Cypress 10 rebuilt the App UX and integrated component testing into the same launcher as end-to-end, with cy.mount scaffolding and framework-aware setup.
2022 Jun
RFC 9110 replaced earlier HTTP specifications with one definition of methods, status codes, and conditional requests. It is the reference for safe and idempotent methods and for codes such as 412 and 422.
2022 Nov
Cypress 11 promoted component testing to GA for React, Next.js, Angular, and Vue, stabilizing mount APIs after the beta period.
2022 Nov 4
Selenium 4.6 added the initial Selenium Manager integration across bindings. Driver discovery and setup could occur without a separately installed manager.
2022 Nov 10
The Pact Plugin Framework went live, letting plugins add content types and transports such as Protobuf and gRPC. Contract testing with Pact extended beyond JSON over HTTP.
2022 Dec
Cypress 12 made session caching and cy.origin generally available for end-to-end tests and introduced testIsolation defaults for clean browser context between tests.
2023
The 2023 edition merged excessive data exposure and mass assignment into Broken Object Property Level Authorization and added Unrestricted Access to Sensitive Business Flows and Unsafe Consumption of APIs.
2023 Apr
The first stable SLSA specification clarified provenance and artifact-verification guidance.
2023 Jul
RFC 9457 obsoleted RFC 7807 and kept application/problem+json as the standard error body for HTTP APIs, giving tests a common shape to assert for error responses.
2023 Jul 31
Selenium 4.11 added Chrome for Testing support and expanded compatibility diagnostics. Selenium Manager moved beyond locating drivers toward managing browser binaries in supported workflows.
2023 Oct 5
WCAG 2.2 added nine success criteria addressing accessibility for people with visual, physical, and cognitive disabilities. Audit baselines expanded while retaining the earlier WCAG 2 framework.
2023 Dec
Artifact v4 made uploaded artifacts job-scoped and immutable. Artifact transfer needed to account for its compatibility boundary with earlier versions.
2024 Jan
Cypress Cloud messaging centered on Test Replay, flake detection, and CI optimization features that turn recorded runs into failure diagnosis rather than pass/fail alone.
2024 Apr
QuickerCheck evaluated parallel property execution and parallel counterexample reduction. It made the choice between deterministic shrinking and faster greedy shrinking explicit for costly properties.
2024 Apr
SPDX 3.0 introduced profiles for security and build information, broadening the model beyond a package inventory alone.
2025
CISA updated guidance for SBOM data, automation support, practices, processes, coverage, and frequency.