Best of Testing — December 2024
- 1
- 2
DevelopSense·1y
Voldemort Syndrome
Since June 2023, James Bach and another researcher have been studying 'syndromes' related to AI chatbots, specifically those based on LLMs and GPTs like ChatGPT. Recently, they identified 'Voldemort Syndrome,' where the chatbot censors specific names, such as 'David Mayer.' The phenomenon suggests both input and output filtering are being used to restrict content. The post highlights the importance of interactive testing and understanding technology to identify issues without requiring deep technical knowledge.
- 3
Lobsters·1yCollection of insane and fun facts about SQLite
SQLite is the world's most deployed and used database, maintained by just three people without outside contributions. It originated from a need for a serverless database on a US warship. SQLite is in the public domain and has an extensive test suite, partly proprietary, ensuring reliability. It has unique traits such as a single writer model, weak typing, and no foreign keys by default. Despite its quirks, SQLite has strong backward compatibility and diverse applications, even outperforming filesystems in some cases.
- 4
Cerbos·1y
Best practices for testing and deploying microservices
Transitioning from a monolithic architecture to microservices demands strategic foresight and meticulous execution. Effective testing at various levels—unit, contract, integration, and end-to-end—is essential. Strategies like blue-green deployment, canary deployment, rolling updates, and serverless deployment minimize issues and downtime during deployment. Netflix's approach involves stress testing, chaos engineering, and continuous integration and deployment to ensure resilience and fault tolerance.
- 5
Continuous Delivery·1y
What TDD Looks Like In A REAL PROJECT (With Code Examples)
Test-driven development (TDD) is often seen as tricky to implement in real-world projects. The post discusses the advantages of TDD, such as encouraging simpler and more testable code designs, and provides a practical example from an open-source project. It highlights the differences between teaching TDD using simple exercises and applying it to complex, real-world scenarios. The post also covers the use of internal DSLs for acceptance testing and demonstrates some coding practices for effective TDD.
- 6
Awesome Java Newsletter·1y
Quick and Easy: How to Test RESTful APIs in Java
Testing RESTful APIs is crucial for backend development but switching between IDEs and tools like Postman can reduce efficiency. The Apidog Fast Request plugin for IntelliJ IDEA simplifies this process by enabling API testing directly within the development environment. It supports Java and Kotlin projects, automatically generates API documentation, and syncs endpoint info for team collaboration. Install it from IntelliJ's plugin marketplace for streamlined testing with a single click.
- 7
Baeldung·1y
Automated Testing for OpenAPI Endpoints Using CATS
Explores the use of CATS (Contract Auto Test Service) for automated testing of REST APIs with OpenAPI configurations. CATS generates and runs tests based on the API contract, simplifying the testing process and improving API reliability by identifying potential issues early. Key features include automatic test generation, HTML report creation, and integration with authorization requirements. The post provides a detailed guide on installing CATS, configuring tests, and analyzing test reports to address common API issues.
- 8
Baeldung·1y
Mocking Private Fields With Mockito
Learn how to mock private fields using Mockito in this tutorial. Although Mockito doesn't inherently support it, different approaches such as using Java Reflection API or JUnit 5's ReflectionUtils can achieve this goal. Examples are provided to demonstrate how to set values for private fields and test their methods.
- 9
- 10
We Are .NET·1y
Performance testing your API with Grafana K6⚡
Performance testing is crucial for ensuring your API can handle high traffic without crashing. This post introduces Grafana K6, a tool that lets you write JavaScript scripts to conduct various performance tests, such as load tests, stress tests, soak tests, and spike tests. It provides insights into API performance, helping identify potential bottlenecks. The tutorial covers installing K6, writing and executing tests, and analyzing results for an ASP.NET Core API.
- 11
C# Corner·1y
Understanding .http Files in .NET 8
Microsoft has introduced .http files in .NET 8, allowing developers to create and send HTTP requests directly within Visual Studio. These files simplify API testing, enhance development accuracy, and improve workflow integration. The post provides a step-by-step guide on creating and using .http files in an ASP.NET Core Web API project, showcasing their advantages over traditional third-party tools.
- 12
ElixirStatus·1y
agentjido/jido: A foundational framework for building autonomous, distributed agent systems in Elixir.
Jido is a foundational framework for building autonomous, distributed agent systems in Elixir. It allows for the creation of smart, composable workflows that can adapt to their environment. Key features include composable actions, real-time sensors, adaptive learning, and built-in telemetry. It is designed for multi-node Elixir clusters and includes robust testing tools. Jido is currently under active development, with the stable API encompassing Actions, Workflows, Agents, and Sensors.
- 13
Software Testing Magazine·1y
Open Source .NET Behavior-Driven Development (BDD) Tools
Behavior-Driven Development (BDD) is an Agile approach integrating requirement gathering, documentation, and acceptance testing by writing human-readable sentences describing application features. Several open source .NET BDD tools like SpecFlow, BDDfy, Concordion.NET, and others help store requirements as live documentation and perform functional or acceptance tests, ensuring correct implementation of features.
- 14
LambdaTest·1y
Selenium Python Tutorial : A Python Automation Testing Guide with examples
Learn how to automate web browsers using Selenium and Python with this comprehensive guide. The tutorial covers installation steps, configuring Selenium with Python, setting up projects, running automated tests on local and cloud grids, handling keyboard and mouse actions, interacting with dropdowns, radio buttons, checkboxes, alerts, and iFrames, and more. Ideal for those seeking to enhance their web testing skills.
- 15
- 16
Community Picks·1y
anti-work/shortest: QA via natural language AI tests
AI-powered natural language end-to-end testing framework, built on Playwright, integrates with GitHub and supports 2FA. It enables writing tests in natural language and executing them using the Anthropic Claude API. Additionally, it provides lifecycle hooks for pre-and post-test operations, supports GitHub authentication tests, and can be run in CI/CD pipelines.
- 17
Community Picks·1y
75+ Testing Practice Websites to Master Software QA in 2024
The post offers an updated list of over 75 websites dedicated to helping software testers practice and enhance their skills in various testing domains, including general practice, API, automation, security, mobile, accessibility, and performance testing. Each listed site provides unique environments and tools for testers to improve their manual and automated testing abilities.
- 18
Baeldung·1y
JSON Unit Test Assertions Using JsonUnit
Explore the JsonUnit library for creating expressive JSON assertions. Learn about its smooth integration with AssertJ, the use of custom placeholders, and features like navigating JSON paths and ignoring fields or values. JsonUnit simplifies JSON validation through a fluent API, enabling comparisons with templated Strings and use of various configuration options.
- 19
Baeldung·1y
Mocking a Method in the Same Test Class Using Mockito Spy
Mocking is essential in unit testing to isolate specific behaviors. This tutorial demonstrates how to mock a method within the same test class using Mockito Spy through a practical example. Mockito Spy provides the flexibility to use some real methods and stub others, solving the problem of needing to mock complex methods.
- 20
Software Testing Magazine·1y
Test Automation Best Practices That You Might Not Be Following in Your Daily Testing Routine
Effective test automation can boost the quality and reliability of your product. This post emphasizes selecting the right tools based on project requirements, integrating CI/CD pipelines for immediate feedback, and maintaining test scripts through regular review and refactoring. Prioritizing tests to focus on the most critical areas ensures efficiency, and integrating various tools within the CI/CD pipeline can streamline the testing process and minimize errors.
- 21
Hacker News·1y
Database mocks are just not worth it
Testing against a real database reveals hidden issues such as unique constraint violations, default value handling, and performance bottlenecks that may not be evident with mocks. It future-proofs your tests by catching schema-related errors early and maintains accurate handling of concurrency and aggregate calculations. Balancing real database tests for data access layers with mocks for higher-level orchestration ensures comprehensive testing without introducing extra reliance on external systems.
- 22
ploeh blog·1y
Pytest is fast
The author discusses their evolving perspective on dynamically typed languages, particularly Python, emphasizing the fast feedback loop when using pytest for TDD. They compare this with statically typed languages like C#, F#, and Haskell, noting the significant compilation time that affects the development process. The discussion highlights the balance and trade-offs in choosing a language for development, based on testing efficiency and compile time.
- 23
Baeldung·1y
How to Drag and Drop in Selenium
Explore how to perform drag-and-drop actions using Selenium and WebDriver. Learn about the three core methods provided by Selenium: dragAndDrop(), clickAndHold(), and dragAndDropBy(). Understand their usage in various scenarios, from simple element movements to complex, precise drags. Set up the environment with Selenium Java library and WebDriverManager, and see practical examples of each method on demo pages.
- 24
The New Stack·1y
Why Your Microservice Integration Tests Miss Real Problems
Engineering teams often skip comprehensive integration testing due to its complexity in microservices environments. Traditional methods, such as mocks or Docker Compose, come with high maintenance, false confidence, and scalability issues. A new approach using sandbox environments for canary-style integration testing allows for realistic testing by interacting with actual dependencies. This method, exemplified by Signadot's use of AI-powered SmartTests, offers immediate feedback, enhanced reliability, and scalability, transforming how integration tests are conducted in distributed systems.