Modularizing Legacy Projects Using TDD: Test-Driven Development with XCTest for iOS

Author:   Khaled El-Morabea ,  Hassaan El-Garem
Publisher:   APress
Edition:   1st ed.
ISBN:  

9781484274279


Pages:   335
Publication Date:   26 October 2021
Format:   Paperback
Availability:   Manufactured on demand   Availability explained
We will order this item for you from a manufactured on demand supplier.

Our Price $118.77 Quantity:  
Add to Cart

Share |

Modularizing Legacy Projects Using TDD: Test-Driven Development with XCTest for iOS


Add your own review!

Overview

Improve current or new projects with top notch testability and maintainability. Writing tests improves the design of your apps, as it pushes you to have a more modularized design. This in turn improves the maintainability and sustainability of your apps. This book is for iOS developers who already know the basics of iOS and Swift development but want to learn all the testing pro features in iOS. You'll start by reviewing the TDD Cycle and how to implement these concepts on a legacy project or a new one. You'll then walk through TDD step-by-step on a blank project, including setting up test targets, assertions, and expectations. You'll follow that with all levels of testing such as unit tests, integration tests, and end-to-end tests, and also tackle fairly complex, yet badly written legacy code.  The book will take you through the journey of modularizing a legacy app using TDD. Throughout this journey, you will be introduced to multiple testingconcepts and techniques, like writing tests for network and core data layers. You will write tests to ensure the thread safety of your app. And you’ll add a new feature while you are in the middle of refactoring, which is an important skill so you can keep adding features while you are fixing your technical debt. By the end of this book, you will have all the tools needed to become a testing master. What You'll Learn Use mocking and dependency injection to make components more testable  Write tests for asynchronous code like network code  Add new features to existing legacy apps using TDD Who This Book Is For Experienced iOS developers who care about software quality and meeting customer expectations.

Full Product Details

Author:   Khaled El-Morabea ,  Hassaan El-Garem
Publisher:   APress
Imprint:   APress
Edition:   1st ed.
Weight:   0.545kg
ISBN:  

9781484274279


ISBN 10:   148427427
Pages:   335
Publication Date:   26 October 2021
Audience:   Professional and scholarly ,  Professional & Vocational
Format:   Paperback
Publisher's Status:   Active
Availability:   Manufactured on demand   Availability explained
We will order this item for you from a manufactured on demand supplier.

Table of Contents

Chapter 1: Introduction  Why write tests? Levels of testing Overview of TDD   Chapter 2: Your First Test  Basics of testing in iOS XCTest Code Examples   Chapter 3: The Testing Pyramid  Testing Level Values  Distributing tests along levels      Chapter 4: TDD Deep Dive  Core concepts Complex examples Implement projects from scratch with TDD    Chapter 5: Modularization for the Win  Introducing a legacy project Transform with maintainability Break up larger components Apply TDD for modularization    Chapter 5: Dependency Injection and Mocks  Write tests for a component Downsides of these techniques Deciding when to apply   Chapter 6: Avoiding Threading Nightmares  Threading issues  Simulate situations Determine which components need to have multithreading tests   Chapter 7: Testing Your Network Layer  Testing network code c Differences between sync and async code Test network code   Chapter 8: Taming CoreData  Core Data  Testing Core Data layer   Chapter 9: Adding Features to Legacy Apps Testing concepts and techniques Add a feature to an existing application TDD and modularization  Modify a tested and modularized project   Chapter 10: Handling Production Issues  Improve the application quality  Make sure that similar problems don't happen again Tools used to identify and keep track of bugs and crashes. Add tests for every production issue discovered   Chapter 11: Performance Testing  Write performance tests MetricKit Value of performance testing Write performance tests for iOS applications

Reviews

Author Information

Khaled El-Morabea Khaled is an engineering manager at Instabug. He has been an iOS developer for more than 8 years and leading the iOS team for more than 3 years. In that time he has worked on several projects. During his time at Instabug, he has worked on multiple integral products, both as a developer and as a strategic engineering manager. Hassaan El-Garem Hassaan has been involved in the field of iOS Development for 5 years, during which he worked on multiple apps and projects. He has a passion for testing and for working on complex projects, while maintaining the highest level of quality. Following his passion for testing has led him to create a closed-source testing framework used for randomized stress testing.

Tab Content 6

Author Website:  

Customer Reviews

Recent Reviews

No review item found!

Add your own review!

Countries Available

All regions
Latest Reading Guide

wl

Shopping Cart
Your cart is empty
Shopping cart
Mailing List