Best of TestingMay 2024

  1. 1
    Article
    Avatar of substackSubstack·2y

    My 3 Step Process for Writing Clean Code

    A software engineer shares a three-step process for writing clean code, starting with making it work, then making it right with tests, and finally cleaning it up with refactoring.

  2. 2
    Article
    Avatar of snykSnyk·2y

    10 modern Node.js runtime features to start using in 2024

    Explore 10 modern Node.js runtime features to start using in 2024. Includes the Node.js test runner, native mocking, test coverage, watch mode, .env loader, import.meta support, native timers with promises, permissions model, and policy module.

  3. 3
    Article
    Avatar of communityCommunity Picks·2y

    How to Write Better Test Names

    Tips for writing better test names: start with a verb, use subject-less third person, omit implied verbs, describe the intention not the implementation, and keep it short. Long test names may indicate that the test is doing too much and should be split into smaller tests.

  4. 4
    Article
    Avatar of logrocketLogRocket·2y

    Exploring Hurl, a command line alternative to Postman

    Explore Hurl, a command line alternative to Postman, that allows developers to run and test HTTP requests directly from their command line. Hurl is open source, free to use, lightweight, portable, and supports various operating systems. It offers customization options and the ability to validate API responses. A comparison between Hurl and Postman reveals differences in pricing, usage, learning curve, complexity, and data privacy. Hurl can be used in CI/CD pipelines for automated testing. The post also covers a tutorial on using Hurl to test the Rick and Morty API and the Rick and Morty website using JSONPath and XPath asserts.

  5. 5
    Article
    Avatar of communityCommunity Picks·2y

    How not to do code reviews

    Code reviews have evolved from error-driven inspections to focusing on knowledge sharing and team growth. Using automated tests and static analyzers can improve the code review process by identifying bugs and vulnerabilities.

  6. 6
    Article
    Avatar of fermyonFermyon·2y

    It Took Me 20+ Years To Learn This Lesson About Dev

    Every line of code written is a line of code that needs to be supported. Coding should be approached as artisanship, avoiding the Not Invented Here Syndrome, reducing code complexity, and writing tests to minimize support needs in the future, while documenting and making code understandable for others.

  7. 7
    Article
    Avatar of lnLaravel News·2y

    Configuring Laravel With Additional Environment Files

    Learn how to configure additional environment files in Laravel, use a different environment file in Laravel CLI and PHPUnit CLI, and why .env.testing file is useful for PHPUnit tests.

  8. 8
    Article
    Avatar of substackSubstack·2y

    TDD: 5 test smells - 5 solutions

    Learn about common test smells in Test-Driven Development and how to fix them.

  9. 9
    Video
    Avatar of communityCommunity Picks·2y

    Save time and effort with the Utility Type

    Learn how the utility type 'pick' in TypeScript can help improve test code and production code by allowing the extraction of specific properties from a type.

  10. 10
    Article
    Avatar of storybookStorybook·2y

    Storybook 8.1

    Storybook 8.1 introduces new features, including story auto-generation, type-safe module mocking, unit testing for React Server Components, portable stories for Playwright Component Tests, and hundreds of other improvements.

  11. 11
    Article
    Avatar of substackSubstack·2y

    Why you need TDD

    TDD is the fastest and safest way to write code and it helps manage complexity, minimizes debugging, and provides 100% code and behavior coverage. It is advocated by top engineers in the industry.

  12. 12
    Article
    Avatar of techworld-with-milanTech World With Milan·2y

    Inside Shopify’s Modular Monolith

    Shopify's Principal Engineer discusses their architecture, tech stack, testing, culture, and more.

  13. 13
    Article
    Avatar of communityCommunity Picks·2y

    How to Increase Test Coverage with Tracing

    This post discusses the importance of test coverage and how tracing data can help improve it in distributed systems. It also explains the difference between test coverage and code coverage.

  14. 14
    Article
    Avatar of mwaseemzakirWaseem .NET Newsletter·2y

    EP 59 : A Guide to Unit Testing Project Setup in .NET

    This post provides a guide to setting up a unit testing project in .NET, including steps for creating the project, adding references, installing necessary NuGet packages, and writing the first unit test. It also introduces the concepts of the Fact Attribute in xUnit and mocking interfaces using NSubstitute.

  15. 15
    Article
    Avatar of milanjovanovicMilan Jovanović·2y

    Vertical Slice Architecture: Structuring Vertical Slices

    Vertical Slice Architecture organizes code by feature, improving cohesion and reducing complexity. Implementing VSA involves grouping code for each feature into a single slice. Validation plays a role in ensuring data integrity. Consider decomposing complex features, refactoring, and extracting shared logic when using VSA.

  16. 16
    Article
    Avatar of appuniteAppUnite·2y

    5 common Flutter App issues you might not know but you have in your app

    Addressing common issues in Flutter apps, such as status bar accessibility, floating action button alignment, scrollable screens, and software keyboard behavior.

  17. 17
    Article
    Avatar of dhhDavid Heinemeier Hansson·2y

    System tests have failed

    System testing in Rails 5.1 is slow, brittle, and full of false negatives. While it aims to provide confidence in the system's functionality, it falls short in practice. Testing UI logic, especially involving JavaScript, is still best done through manual human tests rather than automation.

  18. 18
    Article
    Avatar of newstackThe New Stack·2y

    Stop Running Tests With Your CI/CD Tool

    Implementing a consistent testing infrastructure for cloud native applications is challenging. Many CI/CD tools have limited support for testing and QA, resulting in issues with consistency, test execution environments, and scalability. Running tests outside of CI/CD pipelines is also difficult. Testkube is a test orchestration platform that addresses these challenges by providing consistent tooling support, execution environments, flexibility in test execution, scalability, and a single pane of glass for test results.

  19. 19
    Article
    Avatar of hnHacker News·2y

    nucleuscloud/neosync: Open source data anonymization and synthetic data orchestration for developers. Create high fidelity synthetic data and sync it across your environments.

    Neosync is an open-source tool that provides data anonymization, synthetic data generation, and data synchronization for better testing, debugging, and developer experience. It allows users to safely test code against production data, reproduce production bugs locally, fix broken staging environments, reduce compliance scope, and seed development databases with synthetic data.

  20. 20
    Article
    Avatar of awscommunityAWS Community·2y

    I'm a lazy developer. Here's how Amazon Q is enabling me

    Improving productivity for lazy developers using Amazon Q

  21. 21
    Article
    Avatar of swizecswizec.com·2y

    Why you shouldn't use AI to write your tests

    The post discusses the reasons why using AI to write tests may not be valuable. It explores the benefits of different types of tests, such as unit tests, integration tests, and end-to-end tests. It also presents ideas for using AI in test writing, including fuzzing the app, translating acceptance criteria into tests, and letting AI generate code based on tests.

  22. 22
    Article
    Avatar of freekFREEK.DEV·2y

    Architecture Testing in Laravel with Pest

    Learn how to use Pest to add architecture tests for your PHP application and enforce standards such as folder structures and naming conventions.

  23. 23
    Article
    Avatar of appsignalAppSignal·2y

    Cypress vs. Playwright for Node: A Head-to-Head Comparison

    A comparison of the Cypress and Playwright frameworks for end-to-end testing and browser automation. The post explores their features, similarities, and differences, and provides guidance on choosing the appropriate framework for specific testing requirements.

  24. 24
    Article
    Avatar of hnHacker News·2y

    buxlabs/boxwood: Server side templating engine written in JavaScript

    boxwood is a server-side templating engine written in JavaScript. It allows templates to be split into components, CSS to be hashed per component, and templates to import other dependencies. It is small, easy to start with, and good for SEO.

  25. 25
    Article
    Avatar of kdnuggetsKDnuggets·2y

    Getting Started with PyTest: Effortlessly Write and Run Tests in Python

    Learn about the PyTest module and how it simplifies writing and running test cases in Python. Discover the benefits of PyTest, including improved logging and test reports, automatic discovery of test cases, and the use of fixtures and parametrization. Follow step-by-step instructions to set up PyTest and write your first test case. Explore how to structure a Python project for testing and understand the output of PyTest. See how to use function parametrization to test multiple scenarios with ease.