<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/introducing-the-testing-vial-a-better-alternative-to-testing-diamond-and-testing-pyramid-l4tjvguhr" -->

---
title: Introducing the Testing Vial: a (better?) alternative to...
description: A proposed testing strategy called the 'Testing Vial' is introduced as an alternative to the Testing Pyramid and Testing Diamond. Rather than fixating on the...
canonical: https://daily.dev/posts/introducing-the-testing-vial-a-better-alternative-to-testing-diamond-and-testing-pyramid-l4tjvguhr
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Introducing the Testing Vial: a (better?) alternative to Testing Diamond and Testing Pyramid | daily.dev
og:description: A proposed testing strategy called the 'Testing Vial' is introduced as an alternative to the Testing Pyramid and Testing Diamond. Rather than fixating on the...
og:url: https://daily.dev/posts/introducing-the-testing-vial-a-better-alternative-to-testing-diamond-and-testing-pyramid-l4tjvguhr
og:image: https://api.daily.dev/og/posts/L4tjVgUHr.png
og:image:alt: Introducing the Testing Vial: a (better?) alternative to Testing Diamond and Testing Pyramid
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Introducing the Testing Vial: a (better?) alternative to Testing Diamond and Testing Pyramid

**[Code4IT](https://daily.dev/sources/code4it)** · 10 min read · 0 upvotes · 0 comments

## Summary

A proposed testing strategy called the 'Testing Vial' is introduced as an alternative to the Testing Pyramid and Testing Diamond. Rather than fixating on the proportion of unit versus integration tests, the Testing Vial organizes tests around business entities, combining E2E, integration, and unit tests within a 'vial' tied to a business concern. It adds architectural tests (via tools like ArchUnit or ArchUnit.NET) as a 'cap' to catch unwanted structural coupling, and advocates tagging tests with categories (e.g., MSTest TestCategory, xUnit Trait) tied to business entities so teams can track impact, code coverage, and dependencies per entity. The author frames this as shifting testing focus from technical structure to business value and invites feedback since the idea is newly proposed.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://www.code4it.dev/blog/testing-vial>

## Questions this post answers

### What is the Testing Vial approach to software testing?

The Testing Vial is a proposed testing strategy that groups unit, integration, and end-to-end tests into a single 'vial' organized around a business entity rather than by test type ratio. Each vial should cover critical flows with E2E tests, business requirements with integration tests, and edge cases with unit tests, capped by architectural tests to catch unwanted coupling.

_Developers rethinking their test strategy can explore alternative takes on testing organization through daily.dev._

### How does the Testing Diamond differ from the Testing Pyramid in testing strategy?

The Testing Pyramid emphasizes unit tests as the majority of a test suite, making tests fast but tightly coupled to implementation details and prone to breaking during refactors like switching databases. The Testing Diamond instead emphasizes integration tests, trading faster feedback for a stronger safety net against regressions when restructuring code, though integration tests can be slower and harder to isolate from shared data.

_Teams weighing unit versus integration test investment can compare approaches like these on daily.dev._

### How can you tag or categorize tests by business entity in C#?

In C#, tests can be categorized using the TestCategory attribute with MSTest or NUnit, or the Trait attribute with xUnit, applying labels like "Cart" or "User" that correspond to business entities. Grouping tests this way lets you view all tests tied to a specific entity in Visual Studio's Traits grouping and analyze code coverage per category.

_Developers organizing test suites by domain concept can find practical patterns like this on daily.dev._

## Similar posts on daily.dev

- [The Test Pyramid Is a Lie \(and What I Do Instead\)](https://daily.dev/posts/the-test-pyramid-is-a-lie-and-what-i-do-instead--ak2scchgz) · Milan Jovanović · 40 upvotes · 0 comments
- [Medium](https://daily.dev/posts/medium-vglich5gj) · Medium · 0 upvotes · 0 comments
- [Unit tests mark territory more than squash bugs](https://daily.dev/posts/unit-tests-mark-territory-more-than-squash-bugs-tjmwlmfzx) · Lobsters · 0 upvotes · 1 comments
- [The Testing Pyramid in the Age of AI: From Unit, Integration to API Testing](https://daily.dev/posts/the-testing-pyramid-in-the-age-of-ai-from-unit-integration-to-api-testing-7oift4l86) · Software Testing Magazine · 1 upvotes · 0 comments
- [TDD is a Luxury: Pragmatic Testing for the Solo Developer](https://daily.dev/posts/tdd-is-a-luxury-pragmatic-testing-for-the-solo-developer-tawfchoo4) · Ruby Flow · 0 upvotes · 1 comments

---

Tags: [#testing](https://daily.dev/tags/testing)

[View this post on daily.dev](https://daily.dev/posts/introducing-the-testing-vial-a-better-alternative-to-testing-diamond-and-testing-pyramid-l4tjvguhr)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Introducing the Testing Vial: a (better?) alternative to Testing Diamond and Testing Pyramid","url":"https://daily.dev/posts/introducing-the-testing-vial-a-better-alternative-to-testing-diamond-and-testing-pyramid-l4tjvguhr","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/introducing-the-testing-vial-a-better-alternative-to-testing-diamond-and-testing-pyramid-l4tjvguhr"},"datePublished":"2026-10-04T13:06:46.416Z","dateModified":"2026-10-04T13:10:22.396Z","description":"A proposed testing strategy called the 'Testing Vial' is introduced as an alternative to the Testing Pyramid and Testing Diamond. Rather than fixating on the...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/635dcff993e6a13c8b93caee14dfa350?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/635dcff993e6a13c8b93caee14dfa350?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Code4IT","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Code4IT","logo":"https://media.daily.dev/image/upload/s--OaaG4G10--/f_auto,q_auto/v1791119049/logos/code4it?_a=BAMAMicg0","url":"https://daily.dev/sources/code4it"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/introducing-the-testing-vial-a-better-alternative-to-testing-diamond-and-testing-pyramid-l4tjvguhr","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"testing","timeRequired":"PT10M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Code4IT","item":"https://daily.dev/sources/code4it"},{"@type":"ListItem","position":3,"name":"Introducing the Testing Vial: a (better?) alternative to Testing Diamond and Testing Pyramid"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/introducing-the-testing-vial-a-better-alternative-to-testing-diamond-and-testing-pyramid-l4tjvguhr#faq","mainEntity":[{"@type":"Question","name":"What is the Testing Vial approach to software testing?","acceptedAnswer":{"@type":"Answer","text":"The Testing Vial is a proposed testing strategy that groups unit, integration, and end-to-end tests into a single 'vial' organized around a business entity rather than by test type ratio. Each vial should cover critical flows with E2E tests, business requirements with integration tests, and edge cases with unit tests, capped by architectural tests to catch unwanted coupling. Developers rethinking their test strategy can explore alternative takes on testing organization through daily.dev."}},{"@type":"Question","name":"How does the Testing Diamond differ from the Testing Pyramid in testing strategy?","acceptedAnswer":{"@type":"Answer","text":"The Testing Pyramid emphasizes unit tests as the majority of a test suite, making tests fast but tightly coupled to implementation details and prone to breaking during refactors like switching databases. The Testing Diamond instead emphasizes integration tests, trading faster feedback for a stronger safety net against regressions when restructuring code, though integration tests can be slower and harder to isolate from shared data. Teams weighing unit versus integration test investment can compare approaches like these on daily.dev."}},{"@type":"Question","name":"How can you tag or categorize tests by business entity in C#?","acceptedAnswer":{"@type":"Answer","text":"In C#, tests can be categorized using the TestCategory attribute with MSTest or NUnit, or the Trait attribute with xUnit, applying labels like \"Cart\" or \"User\" that correspond to business entities. Grouping tests this way lets you view all tests tied to a specific entity in Visual Studio's Traits grouping and analyze code coverage per category. Developers organizing test suites by domain concept can find practical patterns like this on daily.dev."}}]}
```

