Best of Testing2025

  1. 1
    Article
    Avatar of khokbmumuz4w1vbvtnmldClaudette·35w

    The Crash Landing of Vibe Coding

    Vibe coding, while potentially speeding up initial development, often leads to significant problems when projects encounter real-world challenges. The approach typically fails in areas like scalability, debugging, and testing, ultimately causing more harm than good. Developers should prioritize proper software engineering practices over quick shortcuts to avoid costly technical debt and project failures.

  2. 2
    Article
    Avatar of bytebytegoByteByteGo·1y

    EP151: 24 Good Resources to Learn Software Architecture in 2025

    ByteByteGo Newsletter shares 24 valuable resources for learning software architecture in 2025, including books, tech blogs, YouTube channels, and whitepapers. It also compares API styles (SOAP vs REST vs GraphQL vs RPC) and AWS services (SQS vs SNS vs EventBridge vs Kinesis). Additionally, it outlines methods to enhance API performance and introduces Grok-3, a powerful AI developed by xAI.

  3. 3
    Article
    Avatar of francofernandoThe Polymathic Engineer·36w

    How to Become a Confident Software Engineer

    Building confidence as a software engineer requires a structured approach focusing on six key areas: mastering one programming language deeply, writing unit tests with continuous integration, making refactoring a regular habit, pairing with other developers, reading technical books thoughtfully, and teaching others what you learn. The author emphasizes that understanding fundamentals in one language transfers to others, unit tests provide safety nets for bold changes, clean code through refactoring improves maintainability, pairing accelerates learning through different perspectives, quality books teach thinking patterns beyond tutorials, and teaching solidifies understanding while helping others.

  4. 4
    Article
    Avatar of typescripttvTypeScript.TV·18w

    Stop Using TypeScript's Exclamation Mark

    The non-null assertion operator (!) in TypeScript bypasses type safety by forcing the compiler to treat potentially nullable values as non-null, leading to runtime crashes. Instead of using this operator, developers should employ safer alternatives: optional chaining for nested property access, nullish coalescing for default values, conditional operators for explicit branching, type guards for reusable validation, and assertion functions for enforcing invariants. These approaches maintain type safety while handling null and undefined values appropriately, following fail-fast principles and preventing silent failures.

  5. 5
    Article
    Avatar of francofernandoThe Polymathic Engineer·30w

    Before refactoring

    Refactoring code requires careful preparation and the right mindset to avoid common pitfalls. Key considerations include understanding the existing codebase thoroughly, resisting the urge to rewrite everything from scratch, making incremental changes, preserving existing tests, checking your motivations for refactoring, evaluating technology changes carefully, and accepting that refactoring projects can sometimes fail. The difference between successful and failed refactoring often comes down to proper planning and approach rather than technical skill alone.

  6. 6
    Article
    Avatar of zerotomasteryZero To Mastery·50w

    This Is What Shipping Without Tests Looks Like

  7. 7
    Article
    Avatar of storybookStorybook·45w

    Storybook 9

    Storybook 9 introduces comprehensive component testing capabilities powered by Vitest and Playwright. The release features interaction tests, accessibility testing, visual regression testing, and coverage reports all integrated into a unified testing experience. Key improvements include a 48% smaller bundle size, story generation tools, tag-based organization, and story-level globals. Framework updates include Vite-powered Next.js support, Svelte 5 compatibility, and enhanced React Native integration.

  8. 8
    Article
    Avatar of elevateElevate·17w

    My LLM coding workflow going into 2026

    A comprehensive guide to using LLM coding assistants effectively in 2026. Key practices include starting with detailed specifications before coding, breaking work into small iterative chunks, providing extensive context to the AI, choosing appropriate models for different tasks, maintaining human oversight through testing and code review, committing frequently for version control safety, customizing AI behavior with rules and examples, leveraging automation as quality gates, and treating AI as a force multiplier rather than replacement. The workflow emphasizes treating LLMs as junior pair programmers requiring guidance while maintaining developer accountability for all code produced.

  9. 9
    Video
    Avatar of bigboxswebigboxSWE·46w

    Dopamine Driven Development

    A developer shares how leveraging small dopamine rewards from visual feedback can make coding more enjoyable and productive. The approach involves customizing development tools like terminals, setting up CI/CD pipelines, writing tests, and using task managers to create satisfying visual cues that motivate continued coding. The concept suggests that making development environments more engaging through animations and visual feedback can help overcome coding burnout and increase productivity.

  10. 10
    Article
    Avatar of lobstersLobsters·47w

    Postman is logging all your secrets and environment variables

    Postman has been found to log secret strings and environment variables, compromising user privacy. Despite claims of protecting sensitive data, the app sends unmasked variables to its servers, posing risks especially for healthcare applications. Users are advised to block Postman's analytics endpoints to prevent data leakage.

  11. 11
    Article
    Avatar of elevateElevate·1y

    Applied "Software Engineering at Google"

    Google's software engineering practices provide valuable insights that can be adapted by organizations of any size. Key principles include cultivating a comprehensive testing culture with automated tests, establishing effective code review processes, maintaining thorough documentation, fostering knowledge sharing, managing dependencies wisely, using progressive rollouts and feature flags, refining incident response procedures, proactively managing technical debt, prioritizing psychological safety in teams, and leveraging AI to enhance software engineering. Understanding the 'why' behind these practices and starting with small, impactful changes can help build a strong engineering culture focused on quality and continuous improvement.

  12. 12
    Article
    Avatar of yegor256Yegor's Blog·44w

    Write Unit Tests, Don't Waste Our Money!

    Automated tests serve as a warranty system that protects business investments in code. When developers write code without tests, they risk breaking previously fixed functionality, essentially wasting employer money on repeated fixes. Test coverage ensures that paid-for code continues working during refactoring and modifications, making it a crucial business protection rather than just a development practice.

  13. 13
    Article
    Avatar of communityCommunity Picks·41w

    Maestro

    Maestro is an end-to-end testing platform for mobile and web applications that simplifies test creation through visual element inspection and AI assistance. The platform features Maestro Studio for interactive test generation, MaestroGPT for AI-powered command creation, and aims to address the quality control bottleneck in modern software development where AI has accelerated development velocity.

  14. 14
    Article
    Avatar of testimioTestim.io·1y

    Unit Test a REST API? Everything You Need to Know

    Learn the importance of proper testing in building high-quality REST APIs and discover the three key types of automated tests you should have in your test suite: unit tests, integration tests, and UI tests. Understand the role of each test type and how to implement them effectively to ensure your application remains stable and bug-free through continuous changes and refactoring.

  15. 15
    Article
    Avatar of francofernandoThe Polymathic Engineer·38w

    What to Look for in Code Reviews

    A comprehensive guide covering the essential aspects of effective code reviews, prioritized by importance. Covers design considerations as the most critical factor, followed by functionality review, complexity assessment, test quality evaluation, naming and documentation standards, and style consistency. Emphasizes the importance of structured approaches over random scanning, focusing on catching bugs, improving code quality, and facilitating team learning through systematic review practices.

  16. 16
    Article
    Avatar of thoughbotthoughbot·17w

    Testing is software engineering

    Testing should be treated as a core engineering practice, not an afterthought. Writing tests early improves code design by providing immediate feedback on interfaces, enables confident refactoring through reliable CI checks, and facilitates collaboration by uncovering edge cases and serving as living documentation. Tests that are hard to write often signal poorly designed code. Integrating testing throughout development leads to better software design, reduced stress when making changes, and earlier discovery of hidden requirements.

  17. 17
    Article
    Avatar of searlsJustin Searls·21w

    TDD is more important than ever

    Test-driven development skills are becoming critical for working effectively with AI coding agents. Developers experienced in TDD are both the most skeptical of AI code generation and the most successful at using it, because they understand how to build verification into workflows. AI agents, like human developers, need independent ways to verify their work—without verification, they resort to guessing, which compounds errors rapidly. The ability to establish automated testing and verification mechanisms, once a hallmark of agile practices, is now essential for enabling AI agents to produce reliable code through reinforcement learning.

  18. 18
    Article
    Avatar of logrocketLogRocket·52w

    5 best open source tools for cross-browser CSS testing

    Cross-browser CSS testing ensures consistent rendering across various browsers like Chrome, Firefox, Safari, and Edge. Tools such as Playwright, Selenium WebDriver, PostCSS and Stylelint, BrowserStack, and BackstopJS automate this process. Playwright and Selenium help with functional testing, PostCSS and Stylelint ensure CSS quality, BrowserStack captures screenshots, and BackstopJS detects visual differences. These open source tools streamline debugging and improve user experience.

  19. 19
    Article
    Avatar of storybookStorybook·23w

    Storybook 10

    Storybook 10 transitions to ESM-only, reducing install size by 29% while adding module automocking for easier testing, typesafe CSF Factories for React, tag filtering exclusion for sidebar management, and Svelte async component support. The release includes support for Next 16 and Vitest 4, plus experimental features like test syntax and React Server Component testing. The breaking change requires Node 20.16+, 22.19+, or 24+.

  20. 20
    Article
    Avatar of simonwillisonSimon Willison·17w

    Your job is to deliver code you have proven to work

    Software engineers must deliver proven, working code rather than untested contributions. This requires both manual testing (seeing the code work yourself, documenting steps, testing edge cases) and automated testing (bundling tests with changes). With AI coding agents like Claude Code, developers should train these tools to prove their changes work through testing before submission. The human developer remains accountable for ensuring code quality and providing evidence that changes function correctly.

  21. 21
    Article
    Avatar of simplethreadSimple Thread·35w

    Unnecessary Anxiety in Software Development

    Software development often creates unnecessary anxiety through risky practices like deploying without proper safeguards. Using a metaphor of walking across a plank between buildings, the author explains how anxiety is self-reinforcing and leads to avoidance behaviors. Organizations can reduce developer stress by implementing better testing, staging environments, documentation, and blameless cultures. Individuals can combat anxiety by approaching feared tasks, building competence, and accepting discomfort as part of growth. The key is lowering both the likelihood of failure and its consequences.

  22. 22
    Article
    Avatar of swizecswizec.com·1y

    AI writes good tests, actually

    Using AI, specifically Cursor, to write tests can be surprisingly effective. It assists in generating tests based on code comments and intent, identifying bugs, and iterating input combinations. This automation helps focus on creating meaningful input scenarios rather than writing and managing tests manually, making the testing process more efficient and insightful.

  23. 23
    Video
    Avatar of googledevelopersGoogle for Developers·18w

    3 skills every early-career engineer needs

    Early-career software engineers should focus on three fundamental skills: writing clean, maintainable code with meaningful names and simple logic; developing a quality mindset through comprehensive testing that prevents regressions and enables confident refactoring; and mastering essential tools like version control, debugging techniques, documentation practices, and communication skills. These foundational practices create long-term career success more effectively than chasing the latest frameworks.

  24. 24
    Article
    Avatar of nolanlawsonRead the Tea Leaves·16w

    How I use AI agents to write code

    A developer shares practical strategies for using AI coding agents effectively after transitioning from skepticism to adoption. Key recommendations include creating comprehensive CLAUDE.md files for project context, using automated tests as feedback loops, running separate AI sessions for code review to catch bugs, and leveraging agents for overnight work on side projects. The author acknowledges AI's limitations with UI work and novel projects, describes the shift toward an architect-like role focused on specs and review, but maintains reservations about using AI for open-source contributions due to ownership concerns.

  25. 25
    Article
    Avatar of yegor256Yegor's Blog·21w

    Small Repo, High Quality

    Breaking software into smaller repositories instead of using monolithic repos improves code quality through stricter style enforcement, deeper testing, more thorough code reviews, better documentation, faster release cycles, improved AI agent effectiveness, quicker onboarding, stronger code ownership, and easier open-source adoption. While companies like Google and Facebook favor monorepos for reduced integration overhead, smaller repositories enable teams to maintain higher quality standards across multiple dimensions of software development.