Learn it from developers who built it.
Tutorials, how-tos and deep dives on AI, .NET, C#, cloud and developer tools, written by the community.
Master manual testing! This guide covers the basics, types (unit, integration, system, regression, usability, acceptance & more), and real-world examples. Learn how to test software without automation, identify usability issues, and ensure a flawless user experience. Essential for QA professionals and beginners alike. Prepare for your QA interview!
Explore Playwright & TypeScript for automation testing! This guide covers setup, advantages over Selenium, and why TypeScript enhances reliability and scalability.
This provides a hands-on, test-driven guide to implementing Behavior-Driven Development (BDD) using Cucumber (Gherkin) with JavaScript-based web automation. It covers two reference stacks: (A) Cypress + Cucumber and (B) Playwright + Cucumber.js. It is intended for SDETs, automation engineers, and developers adopting TDD/ATDD practices at the acceptance/feature level.
Service virtualization is a technique used in software testing to simulate the behavior of components that are unavailable, difficult to access, or costly to use in a test environment. These components may include APIs, databases, third-party services, or mainframes.
Threat modeling is a structured approach to identifying and mitigating potential security risks in a system. It involves analyzing the architecture, data flows, and components of an application to uncover vulnerabilities and design flaws before they can be exploited. The goal is to proactively address security concerns during the design and development phases.
Security testing automation is essential in modern DevSecOps practices. Integrating Static Application Security Testing (SAST) and Dynamic Application Security Testing (DAST) into CI/CD pipelines ensures early detection and remediation of vulnerabilities.
API mocking is a technique used to simulate the behavior of real APIs during testing. It helps isolate your system under test, test edge cases, and avoid dependencies on external services.
Maintenance testing ensures software stability after updates, bug fixes, or enhancements. It verifies functionality, compatibility, and reliability, preventing regressions and keeping systems aligned with user needs.
The Software Testing Life Cycle (STLC) is a structured process that ensures software quality through phases like requirement analysis, planning, test case creation, execution, defect tracking, and closure for reliable products.
This article highlights common Selenium automation mistakes like weak locators, hard-coded waits, and poor exception handling, offering best practices such as POM, explicit waits, and data-driven testing for robust, maintainable tests.
Selenium WebDriver is a powerful tool for automating web browser interactions. It enables cross-browser testing, supports multiple languages, and is essential for robust and scalable test automation frameworks.
Cross-browser testing ensures that web applications function correctly across different web browsers. It helps identify inconsistencies in layout, behavior, and performance that may arise due to browser-specific implementations.
Data-driven testing allows you to run the same test logic with multiple sets of input data. This is especially useful for validating: - Login scenarios - Form submissions - Search filters - Edge case handling
This document provides a technical guide on how to implement encryption and decryption in Cypress using the Node.js built-in crypto module. This is particularly useful for securely handling sensitive data such as passwords or tokens during test execution.
Chaos Engineering is the discipline of experimenting on a system in order to build confidence in its ability to withstand turbulent conditions in production. It involves intentionally injecting failures into a system to test its resilience and identify weaknesses before they cause real-world outages.
Flaky tests are automated tests that exhibit inconsistent results—passing sometimes and failing at other times without any changes in the code. They are a major challenge in maintaining reliable CI/CD pipelines and can erode confidence in test automation suites.
Learn how integrating automated testing into CI/CD pipelines boosts software quality, accelerates delivery, and reduces bugs—using tools like GitHub Actions, Jest, and Cypress for streamlined, reliable, and efficient deployments.
A scalable automation framework using Cypress, Cucumber (BDD), and CI/CD pipelines. Supports UI, API, E2E, Smoke, Regression, and BAC tests with modular design, performance, and reusability focus.
This document outlines the integration of automated testing into a CI/CD pipeline using Jenkins, Git, Maven, TestNG, and Allure Reports. It demonstrates how to build a robust pipeline that ensures code quality, fast feedback, and reliable deployments.
Smoke testing quickly verifies core functionality in software builds, ensuring stability before deeper testing. It saves time, prevents critical failures, and supports manual, automated, or hybrid approaches with popular tools.
Explore regression testing essentials, types, and best practices. Learn tools like Selenium, Katalon, and Playwright to automate tests, catch bugs early, and ensure code changes don’t break existing functionality.
Sanity testing quickly verifies critical functionalities after bug fixes or updates, ensuring software stability without exhaustive checks. It saves time, detects major issues early, and keeps systems reliable in fast-paced development.
Integrating automation testing into CI/CD pipelines using GitHub Actions ensures faster, reliable software delivery by enabling continuous validation, early bug detection, reduced manual effort, and streamlined deployments across development workflows.
The Page Object Model (POM) design pattern in Selenium improves test automation by separating UI structure from test logic, ensuring maintainability, reusability, readability, and scalability for growing web applications.
Learn essential SQL queries used in database testing. This guide covers SELECT, JOIN, WHERE, and more—ideal for QA testers and beginners ensuring data accuracy and integrity in applications.
Learn how to perform data-driven testing in Selenium using Excel and TestNG. Read test data from Excel with Apache POI and automate test execution using TestNG's DataProvider feature.
Database Testing ensures data accuracy, integrity, and performance by validating schemas, procedures, and operations. This guide covers types, tools, scenarios, and best practices for robust, high-quality data-driven applications.
Java and Selenium WebDriver offer a robust foundation for QA automation, enabling scalable, maintainable, and efficient testing. Implementing best practices ensures a high-quality software delivery process.
The Page Object Model (POM) enhances test automation by improving maintainability, readability, and scalability. Implementing POM with best practices ensures efficient and reliable UI testing.
How fast is the same code using different languages. In this article I used VS Code to write a loop in different languages and tested the execution speed with results.
Everything on Software Testing, not only its articles: the Software Testing page →
Write an article and earn +1,000 SHARP when it is approved.
Write an article