Test driven development in Ruby : a practical introduction to TDD using problem and solution domain analysis /
Learn the basics of test driven development (TDD) using Ruby. You will carry out problem domain analysis, solution domain analysis, designing test cases, and writing tests first. These fundamental concepts will give you a solid TDD foundation to build upon. Test Driven Development in Ruby is written...
Clasificación: | Libro Electrónico |
---|---|
Autor principal: | |
Formato: | Electrónico eBook |
Idioma: | Inglés |
Publicado: |
[United States] :
Apress,
2017.
|
Temas: | |
Acceso en línea: | Texto completo (Requiere registro previo con correo institucional) |
Tabla de Contenidos:
- At a Glance; Contents; About the Author; About the Technical Reviewer; Foreword; Acknowledgments; Introduction; Chapter 1: The Basics; Terminology; Kata; Coding Kata; Domain; Problem Domain; Solution Domain; Domain Expert; Domain Knowledge; Defining the Problem Domain and the Solution Domain; Learning TDD; Learning by Coding Kata; Learning Retrospective; Intent vs. Implementation; Intent; Implementation; Intent and Implementation; Music; Lyrics; Home Plan; Separate Intent from Implementation; Sheep Example; Test API Example; Bowling Game Example; Precision in Language and Meaning.
- Tests Are Executable DocumentationShift in Mental State; Overview of TDD; Test Driven Development; The Five Steps of TDD; Failing Test; Writing a Failing Test; Minimal Implementation; Autonomous Discovery Learning; Devil's Advocate; Refactoring; Separation of Intent from Implementation; Ping Pong Pair Programming Technique; Black Box Perspective; Shift in System and Mental States; Importance of Discipline; Overcoming Difficulty ; Problem-Solving Skills; Four Phases of Problem Solving; Understand the Problem; Devise a Plan; Carry Out the Plan; Look Back; Subskills of Test Driven Development.
- Problem Domain AnalysisSolution Domain Analysis; Alternative Representations; Divide and Conquer Strategy; Designing Test Cases; Sum a List of Numbers; Sequence of Test Cases; Starter Test; Next Test ; Story Test ; Assertion; Test Driving Calculator; Canonical Test Structure; Given; When; Then; Arrange, Act, Assert; Calculator; Addition; Subtraction; Common Mistakes; Common Mistakes in the TDD Cycle; Mistakes in Step One; Mistakes in Step Two; Mistakes in Step Three; Mistakes in Step Four; Mistakes in Step Five; Base Conversion; Problem Statement; Problem Domain Analysis.
- Solution Domain AnalysisAlgorithm; Code; Code Reflecting Test Data; Multiple Assertions; Vowel Checker; Forgetting to Test the Negative Case; Not Testing the Boundary Conditions; Not Updating the Tests; Implementation-Aware Tests; Summary; Chapter 2: Katas; Fibonacci Sequence; Problem Statement; Problem Domain Analysis; Solution Domain Analysis; Assumptions; Test-Driven Fibonacci; Fizz Buzz; Problem Statement; Problem Domain Analysis; Solution Domain Analysis; Test-Driven FizzBuzz; No if-else Constraint; No if Constraint; Implementation-Independent Tests; Crossing the System Boundary.
- Mocking as a Design TechniqueAbstraction Levels in a System; Testing Random Behavior; Testing Time-Dependent Behavior; Simulating User Input; Seams in a System; Dealing with User Input; Open Closed Principle; Difference Reduction; Defect Localization; Mutation Testing; Stack; Basic Stack; Test Precisely and Concretely; Make Your Code Robust; The Sieve of Eratosthenes; Algorithm; Prime Factors; Problem Statement; Problem Domain Analysis; Solution Domain Analysis; Summary; Chapter 3: Techniques in TDD; Obvious Implementation; Fake It Till You Make It; Triangulation; Addition.