Table of Contents
Test-driven development (TDD)
Return to Software testing, Software testing terminology or Software development process
Test-driven development (TDD) is a software development process that relies on the repetition of a very short development cycle: requirements are turned into very specific test cases, then the software is improved to pass the new tests, only. This is opposed to software development that allows software to be added that is not proven to meet requirements.
Testing: Software testing, Software Testing by Programming Language (Angular Testing, Bash Testing, C Testing, C++ Testing, C# Testing, Clojure Testing, COBOL Testing, Dart Testing, Fortran Testing, Golang Testing, Java Testing, JavaScript Testing, Kotlin Testing, Python Testing, PowerShell Testing, React Testing, Ruby Testing, Rust Testing, Scala Testing, Spring Testing, Swift Testing - iOS Testing - macOS Testing, TypeScript Testing), TDD by Programming Language (Angular TDD, Bash TDD, C TDD, C++ TDD, C# TDD, Clojure TDD, COBOL TDD, Dart TDD, Fortran TDD, Golang TDD, Java TDD, JavaScript TDD, Kotlin TDD, Python TDD, PowerShell TDD, React TDD, Ruby TDD, Rust TDD, Scala TDD, Spring TDD, Swift TDD - iOS TDD - macOS TDD, TypeScript TDD); Testing types, Techniques and Tactics, TDD, A/B testing, Acceptance testing, Accessibility testing, Alpha testing - Beta testing, API testing, Automated testing - Test automation, Benchmarking, Black box testing, Capture and replay testing, Compatibility testing, Concurrent testing, Conformance testing (Type testing), Continuous testing (Continuous), Destructive testing, Development testing, Dynamic program analysis, Exploratory testing, Functional testing vs Non-functional testing, Fuzz testing, GUI testing, Hardware testing, Installation testing, Integration testing, Language testing (Angular testing, C testing (Google Test - gtest), C++ Testing (CppUnit), C# Testing (NUnit), Golang testing, Java testing (JUnit-Hamcrest-Mockito-TestNG-Spock (testing framework)), JavaScript testing (Jest, Jasmine (JavaScript testing framework), Selenium (software) - Selenium WebDriver, Selenium Chrome Driver), Python testing (PyTest, unittest module), React testing, Ruby testing, Rust testing, Scala testing, Spring testing, TypeScript testing), Load testing, Localization testing, Measurement is software testing, Manual testing, Metamorphic testing, Mocking, Network testing, Orthogonal array testing, Output comparison testing, Pair testing, Performance testing - Software performance testing, Property testing, Quality assurance testing - QA, Regression testing, Reliability testing, Sanity testing, Scalability testing, Security testing (Pentesting), Smoke testing, Soak testing, Stress testing, System testing, Testing approaches, Testing artifacts, Test assertions, Testing certifications, Testing controversies, Test frameworks - Unit test frameworks (Appium, ), Testing levels, Testing process, Testing tools, Unit testing, Usability testing, VCR testing, Web testing (Web API security), Web UI testing. (navbar_testing)
American software engineer Kent Beck, who is credited with having developed or “rediscovered” (https://quora.com/Why-does-Kent-Beck-refer-to-the-rediscovery-of-test-driven-development) the technique, stated in 2003 that TDD encourages simple software designs and inspires confidence.
Test-driven development is related to the test-first programming concepts of extreme programming, begun in 1999 but more recently has created more general interest in its own right. (see Newkirk, JW and Vorontsov, AA. ''Test-Driven Development in Microsoft .NET'', Microsoft Press, 2004)
Programmers also apply the concept to improving, refactoring and debugging legacy code developed with older techniques. (See Feathers, M. Working Effectively with Legacy Code, Prentice Hall, 2004)
See also
- Inductive programming - automatically producing a program from test cases
- Programming by example - example-driven program synthesis
tdd
Return to GitHub star ranking for organizations, GitHub star ranking for repositories, GitOps or GitHub
- Snippet from Wikipedia: Test-driven development
Test-driven development (TDD) is a way of writing code that involves writing an automated unit-level test case that fails, then writing just enough code to make the test pass, then refactoring both the test code and the production code, then repeating with another new test case.
Alternative approaches to writing automated tests is to write all of the production code before starting on the test code or to write all of the test code before starting on the production code. With TDD, both are written together, therefore shortening debugging time necessities.
TDD is related to the test-first programming concepts of extreme programming, begun in 1999, but more recently has created more general interest in its own right.
Programmers also apply the concept to improving and debugging legacy code developed with older techniques.
YouTube Videos
Cloud Monk recommends the following YouTube video:
GitHub Tags
External Sites
Main
- tdd
Interesting Articles
Support Resources, FAQs, Q&A, Docs, Blogs
Search Engines
Repos and Registries
Courses
Books
Vidcasts-Podcasts
© 1994 - 2024 Cloud Monk Losang Jinpa or Fair Use. Disclaimers
SYI LU SENG E MU CHYWE YE. NAN. WEI LA YE. WEI LA YE. SA WA HE.