Skip to content

Conversation

@LetyPG
Copy link

@LetyPG LetyPG commented Jan 19, 2026

User description

This change corrects conceptual inaccuracies in the Behavior-Driven Development (BDD) section of the testing types documentation.

The previous description conflated BDD with TDD-style unit test cycles and implied that Selenium directly transforms BDD specifications into executable tests. The updated content clarifies BDD’s focus on shared behavioral examples, acceptance criteria, and collaboration between stakeholders.

It also explicitly distinguishes the roles of BDD frameworks, step definitions, and Selenium as an optional UI automation engine, aligning the documentation with common industry practice.

Fixes #2564

Description

Types of changes

  • Change to the site (I have double-checked the Netlify deployment, and my changes look good)
  • Code example added (and I also added the example to all translated languages)
  • Improved translation
  • Added new translation (and I also added a notice to each document missing translation)

Checklist

  • I have read the contributing document.
  • I have used hugo to render the site/docs locally and I am sure it works.

PR Type

Documentation


Description

  • Clarifies BDD methodology focus on shared behavioral examples

  • Corrects misconception that Selenium directly transforms BDD specs

  • Distinguishes roles of BDD frameworks, step definitions, and Selenium

  • Emphasizes collaboration between stakeholders in BDD approach


Diagram Walkthrough

flowchart LR
  A["BDD Methodology"] --> B["Gherkin Specifications"]
  B --> C["Step Definitions"]
  C --> D["Executable Code"]
  D --> E["Selenium UI Automation"]
  F["BDD Frameworks<br/>JBehave, Capybara,<br/>Robot Framework"] -.-> C
  G["Stakeholder<br/>Collaboration"] -.-> B
Loading

File Walkthrough

Relevant files
Documentation
testing_types.en.md
Clarify BDD concepts and Selenium integration roles           

website_and_docs/content/documentation/test_practices/testing_types.en.md

  • Rewrote BDD section to clarify it as methodology focused on shared
    behavioral examples and stakeholder collaboration
  • Explained Gherkin specifications as acceptance criteria and ubiquitous
    language
  • Clarified that BDD frameworks, step definitions, and Selenium serve
    distinct roles
  • Removed incorrect implication that Selenium directly transforms BDD
    specs into executable tests
  • Added explicit explanation of how Selenium integrates as optional UI
    automation engine with BDD frameworks
+29/-22 

This change corrects conceptual inaccuracies in the Behavior-Driven
Development (BDD) section of the testing types documentation.

The previous description conflated BDD with TDD-style unit test cycles
and implied that Selenium directly transforms BDD specifications into
executable tests. The updated content clarifies BDD’s focus on shared
behavioral examples, acceptance criteria, and collaboration between
stakeholders.

It also explicitly distinguishes the roles of BDD frameworks,
step definitions, and Selenium as an optional UI automation engine,
aligning the documentation with common industry practice.

Fixes 2564
@netlify
Copy link

netlify bot commented Jan 19, 2026

👷 Deploy request for selenium-dev pending review.

Visit the deploys page to approve it

Name Link
🔨 Latest commit 13d473a

@CLAassistant
Copy link

CLAassistant commented Jan 19, 2026

CLA assistant check
All committers have signed the CLA.

@qodo-code-review
Copy link
Contributor

qodo-code-review bot commented Jan 19, 2026

PR Compliance Guide 🔍

Below is a summary of compliance checks for this PR:

Security Compliance
🟢
No security concerns identified No security vulnerabilities detected by AI analysis. Human verification advised for critical code.
Ticket Compliance
🟡
🎫 #2564
🟢 Clarify the distinction between BDD and TDD mechanics (avoid presenting BDD as a strict
TDD-style “failing unit test -> implement” cycle).
Avoid describing BDD specifications as “failing by design”; frame them as
behavior/acceptance criteria, with automation being secondary (scenarios may fail when
first automated, but failure is not the purpose).
Correctly frame BDD’s primary goal as preventing misunderstandings/acceptance-level
defects (not “detecting more errors than TDD”).
Avoid overgeneralizing that BDD cycles continue until “all types of tests are passing”;
keep scope on behavior validation with other test types being complementary.
🔴 Correct inaccurate tooling relationships: BDD frameworks are not “built on top of
Selenium”; Selenium is an optional UI automation engine that can be integrated; also avoid
mislabeling tools (e.g., Capybara not BDD per se; Robot Framework is keyword-driven;
JBehave is a BDD framework).
Codebase Duplication Compliance
Codebase context is not defined

Follow the guide to enable codebase context checks.

Custom Compliance
🟢
Generic: Comprehensive Audit Trails

Objective: To create a detailed and reliable record of critical system actions for security analysis
and compliance.

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Meaningful Naming and Self-Documenting Code

Objective: Ensure all identifiers clearly express their purpose and intent, making code
self-documenting

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Robust Error Handling and Edge Case Management

Objective: Ensure comprehensive error handling that provides meaningful context and graceful
degradation

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Secure Error Handling

Objective: To prevent the leakage of sensitive system information through error messages while
providing sufficient detail for internal debugging.

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Secure Logging Practices

Objective: To ensure logs are useful for debugging and auditing without exposing sensitive
information like PII, PHI, or cardholder data.

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Security-First Input Validation and Data Handling

Objective: Ensure all data inputs are validated, sanitized, and handled securely to prevent
vulnerabilities

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

  • Update
Compliance status legend 🟢 - Fully Compliant
🟡 - Partial Compliant
🔴 - Not Compliant
⚪ - Requires Further Human Verification
🏷️ - Compliance label

@qodo-code-review
Copy link
Contributor

qodo-code-review bot commented Jan 19, 2026

PR Code Suggestions ✨

Explore these optional code suggestions:

CategorySuggestion                                                                                                                                    Impact
General
Provide more accurate BDD framework examples
Suggestion Impact:The commit updated the BDD frameworks list by adding "Cucumber" to the examples. However, it did not fully follow the suggestion because it kept "Capybara" and "Robot Framework" and did not add "SpecFlow" to that specific list.

code diff:

-BDD frameworks such as: **_JBehave, Capybara and Robot Framework_**
+BDD frameworks such as: **_Cucumber, JBehave, Capybara and Robot Framework_**
 are responsible for parsing and managing specifications

Replace the list of BDD frameworks with more accurate examples, such as
Cucumber, SpecFlow, and JBehave.

website_and_docs/content/documentation/test_practices/testing_types.en.md [139-140]

-BDD frameworks such as: **_JBehave, Capybara and Robot Framework_**
+BDD frameworks such as **_Cucumber, SpecFlow, and JBehave_**
 are responsible for parsing and managing specifications

[Suggestion processed]

Suggestion importance[1-10]: 6

__

Why: The suggestion improves the technical accuracy of the documentation by replacing less precise examples of BDD frameworks (Capybara, Robot Framework) with more appropriate ones.

Low
Possible issue
Correct a typo in the text
Suggestion Impact:The commit corrected the typo by changing "mentionated" to "mentioned" in the referenced sentence (along with additional unrelated formatting/content edits nearby).

code diff:

-Selenium as the automation engine to perform browser interactions 
-can be used in combination with the frameworks mentionated above as  
+Selenium as the automation engine to perform browser interactions
+can be used in combination with the frameworks mentioned above as
 an optional dependency that enables UI automation when browser-level validation is required.

Correct the typo "mentionated" to "mentioned".

website_and_docs/content/documentation/test_practices/testing_types.en.md [144-146]

 Selenium as the automation engine to perform browser interactions 
-can be used in combination with the frameworks mentionated above as  
+can be used in combination with the frameworks mentioned above as  
 an optional dependency that enables UI automation when browser-level validation is required.

[Suggestion processed]

Suggestion importance[1-10]: 3

__

Why: The suggestion correctly identifies and fixes a typo ('mentionated' to 'mentioned'), which improves the document's professionalism and readability.

Low
  • Update

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[🐛Bug] Types of Testing- Conceptual Errors and Misinterpretations of BDD

2 participants