El-Garem / El-Morabea | Modularizing Legacy Projects Using TDD | Buch | 978-1-4842-7427-9 | www2.sack.de

Buch, Englisch, 335 Seiten, Format (B × H): 155 mm x 235 mm, Gewicht: 540 g

El-Garem / El-Morabea

Modularizing Legacy Projects Using TDD

Test-Driven Development with XCTest for iOS
1. Auflage 2021
ISBN: 978-1-4842-7427-9
Verlag: Apress

Test-Driven Development with XCTest for iOS

Buch, Englisch, 335 Seiten, Format (B × H): 155 mm x 235 mm, Gewicht: 540 g

ISBN: 978-1-4842-7427-9
Verlag: Apress


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 testing concepts 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 ForExperienced iOS developers who care about software quality and meeting customer expectations.
El-Garem / El-Morabea Modularizing Legacy Projects Using TDD jetzt bestellen!

Zielgruppe


Professional/practitioner

Weitere Infos & Material


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


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.



Ihre Fragen, Wünsche oder Anmerkungen
Vorname*
Nachname*
Ihre E-Mail-Adresse*
Kundennr.
Ihre Nachricht*
Lediglich mit * gekennzeichnete Felder sind Pflichtfelder.
Wenn Sie die im Kontaktformular eingegebenen Daten durch Klick auf den nachfolgenden Button übersenden, erklären Sie sich damit einverstanden, dass wir Ihr Angaben für die Beantwortung Ihrer Anfrage verwenden. Selbstverständlich werden Ihre Daten vertraulich behandelt und nicht an Dritte weitergegeben. Sie können der Verwendung Ihrer Daten jederzeit widersprechen. Das Datenhandling bei Sack Fachmedien erklären wir Ihnen in unserer Datenschutzerklärung.