Cargando…

TEST DRIVEN DEVELOPMENT WITH C++ a simple guide to writing bug-free agile code /

Learn how to write a simple testing framework and extend it to drive the design of your logging library Key Features Learn how to solve various challenges when testing in C++ with the help of effective solutions Develop a logging library with enhancements Drive better code designs with effective tes...

Descripción completa

Detalles Bibliográficos
Clasificación:Libro Electrónico
Autor principal: Tanner, Abdul Wahid (Autor)
Formato: Electrónico eBook
Idioma:Inglés
Publicado: [S.l.] : PACKT PUBLISHING LIMITED, 2022.
Temas:
Acceso en línea:Texto completo (Requiere registro previo con correo institucional)

MARC

LEADER 00000cam a22000007a 4500
001 OR_on1350079212
003 OCoLC
005 20231017213018.0
006 m o d
007 cr |n|||||||||
008 221104s2022 xx o 000 0 eng d
040 |a YDX  |b eng  |c YDX  |d UKMGB  |d ORMDA  |d UKAHL  |d EBLCP  |d OCLCF  |d OCLCQ  |d UPM  |d OCLCQ  |d IEEEE  |d OCLCO 
015 |a GBC2K2769  |2 bnb 
016 7 |a 020803598  |2 Uk 
019 |a 1350422310 
020 |a 9781803238067  |q (electronic bk.) 
020 |a 1803238062  |q (electronic bk.) 
020 |z 1803242000 
020 |z 9781803242002 
029 1 |a UKMGB  |b 020803598 
029 1 |a AU@  |b 000072941919 
035 |a (OCoLC)1350079212  |z (OCoLC)1350422310 
037 |a 9781803238067  |b Packt Publishing Pvt. Ltd 
037 |a 9781803242002  |b O'Reilly Media 
037 |a 10162838  |b IEEE 
050 4 |a QA76.73.C153 
082 0 4 |a 005.13/3  |2 23/eng/20221129 
049 |a UAMI 
100 1 |a Tanner, Abdul Wahid,  |e author. 
245 1 0 |a TEST DRIVEN DEVELOPMENT WITH C++  |h [electronic resource] :  |b a simple guide to writing bug-free agile code /  |c Abdul Wahid Tanner. 
260 |a [S.l.] :  |b PACKT PUBLISHING LIMITED,  |c 2022. 
300 |a 1 online resource 
336 |a text  |2 rdacontent 
337 |a computer  |2 rdamedia 
338 |a online resource  |2 rdacarrier 
520 |a Learn how to write a simple testing framework and extend it to drive the design of your logging library Key Features Learn how to solve various challenges when testing in C++ with the help of effective solutions Develop a logging library with enhancements Drive better code designs with effective tests Book Description Modern, standard C++ is all that is needed to create a small and practical testing framework that will improve the design of any project. This allows you to think about how the code will be used, which is the first step in designing intuitive interfaces. TDD is a modern balanced software development approach that helps to create maintainable applications, provide modularity in design, and write minimal code that drastically reduces defects. With the help of this book, you'll be able to continue adding value when designs need to change by ensuring that the changes don't break existing tests. In this book, developers working with test-driven development (TDD) will be able to put their knowledge to work by writing a simple testing framework and then using it to drive the design of a logging library. The book will help you enhance your software development skills with test cases. You'll understand how to design and implement test cases. The chapters will also show you how to utilize the TDD approach to be more productive in software development than attempting to code in large unstructured steps. By the end of this book, you'll have gained knowledge of TDD and testing and also built a working logging library. What you will learn Understand how to develop software using TDD Keep the code for the system as error-free as possible Refactor and redesign code confidently Communicate the requirements and behaviors of the code with your team Understand the differences between unit tests and integration tests Use TDD to create a minimal viable testing framework Who this book is for This book is for C++ developers already familiar with and using C++ for daily tasks who want to improve their skillset. You don't need to be an expert but you should already have some knowledge of modern C++ and how to use templates to get the most out of this book. 
505 0 |a Cover -- Title Page -- Copyright and Credits -- Contributors -- About the reviewer -- Table of Contents -- Preface -- Part 1: Testing MVP -- Chapter 1: Desired Test Declaration -- Technical requirements -- What do we want tests to do for us? -- What should a test look like? -- What information does a test need? -- How can we use C++ to write tests? -- How will the first test be used? -- Summary -- Chapter 2: Test Results -- Technical requirements -- Reporting a single test result -- Enhancing the test declaration to support multiple tests -- Summarizing the results 
505 8 |a Redirecting the output results -- Summary -- Chapter 3: The TDD Process -- Technical requirements -- Build failures come first -- Do only what is needed to pass -- Enhancing a test and getting another pass -- Summary -- Chapter 4: Adding Tests to a Project -- Technical requirements -- How to detect whether a test passes or fails -- Enhancing the testing library to support assertions -- Should error cases be tested, too? -- Summary -- Chapter 5: Adding More Confirm Types -- Technical requirements -- Fixing the bool confirms -- Confirming equality -- Decoupling test failures from line numbers 
505 8 |a Adding more confirm types -- Confirming string literals -- Confirming floating point values -- How to write confirms -- Summary -- Chapter 6: Explore Improvements Early -- Technical requirements -- Getting line numbers without macros -- Exploring lambdas for tests -- Summary -- Chapter 7: Test Setup and Teardown -- Technical requirements -- Supporting test setup and teardown -- Enhancing test setup and teardown for multiple tests -- Handling errors in setup and teardown -- Summary -- Chapter 8: What Makes a Good Test? -- Technical requirements -- Making tests easy to understand 
505 8 |a Keeping tests focused on specific scenarios -- Use random behavior only in this way -- Only test your project -- Test what should happen instead of how -- Summary -- Part 2: Using TDD to Create a Logging Library -- Chapter 9: Using Tests -- Technical requirements -- Why build a logging library? -- How will TDD help build a logging library? -- What would the ideal logging library look like? -- Starting a project using TDD -- Logging and confirming the first message -- Adding timestamps -- Constructing log messages with streams -- Summary -- Chapter 10: The TDD Process in Depth 
505 8 |a Technical requirements -- Finding gaps in the testing -- Adding log levels -- Adding default tag values -- Exploring filtering options -- Adding new tag types -- Refactoring the tag design with TDD -- Designing tests to filter log messages -- Controlling what gets logged -- Enhancing filtering for relative matches -- When is testing too much? -- How intrusive should tests be? -- Where do integration or system tests go in TDD? -- What about other types of tests? -- Summary -- Chapter 11: Managing Dependencies -- Technical requirements -- Designing with dependencies 
590 |a O'Reilly  |b O'Reilly Online Learning: Academic/Public Library Edition 
650 0 |a C++ (Computer program language) 
650 0 |a Computer software  |x Development. 
650 0 |a Computer software  |x Testing. 
650 6 |a C++ (Langage de programmation) 
650 7 |a C++ (Computer program language)  |2 fast 
650 7 |a Computer software  |x Development  |2 fast 
650 7 |a Computer software  |x Testing  |2 fast 
776 0 8 |i Print version:  |z 1803242000  |z 9781803242002  |w (OCoLC)1348923216 
856 4 0 |u https://learning.oreilly.com/library/view/~/9781803242002/?ar  |z Texto completo (Requiere registro previo con correo institucional) 
938 |a Askews and Holts Library Services  |b ASKH  |n AH40969832 
938 |a YBP Library Services  |b YANK  |n 303230371 
938 |a ProQuest Ebook Central  |b EBLB  |n EBL30203615 
994 |a 92  |b IZTAP