Udemy
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Development
Web Development Data Science Mobile Development Programming Languages Game Development Database Design & Development Software Testing Software Engineering Development Tools No-Code Development
Business
Entrepreneurship Communications Management Sales Business Strategy Operations Project Management Business Law Business Analytics & Intelligence Human Resources Industry E-Commerce Media Real Estate Other Business
Finance & Accounting
Accounting & Bookkeeping Compliance Cryptocurrency & Blockchain Economics Finance Finance Cert & Exam Prep Financial Modeling & Analysis Investing & Trading Money Management Tools Taxes Other Finance & Accounting
IT & Software
IT Certification Network & Security Hardware Operating Systems Other IT & Software
Office Productivity
Microsoft Apple Google SAP Oracle Other Office Productivity
Personal Development
Personal Transformation Personal Productivity Leadership Career Development Parenting & Relationships Happiness Esoteric Practices Religion & Spirituality Personal Brand Building Creativity Influence Self Esteem & Confidence Stress Management Memory & Study Skills Motivation Other Personal Development
Design
Web Design Graphic Design & Illustration Design Tools User Experience Design Game Design Design Thinking 3D & Animation Fashion Design Architectural Design Interior Design Other Design
Marketing
Digital Marketing Search Engine Optimization Social Media Marketing Branding Marketing Fundamentals Marketing Analytics & Automation Public Relations Advertising Video & Mobile Marketing Content Marketing Growth Hacking Affiliate Marketing Product Marketing Other Marketing
Lifestyle
Arts & Crafts Beauty & Makeup Esoteric Practices Food & Beverage Gaming Home Improvement Pet Care & Training Travel Other Lifestyle
Photography & Video
Digital Photography Photography Portrait Photography Photography Tools Commercial Photography Video Design Other Photography & Video
Health & Fitness
Fitness General Health Sports Nutrition Yoga Mental Health Dieting Self Defense Safety & First Aid Dance Meditation Other Health & Fitness
Music
Instruments Music Production Music Fundamentals Vocal Music Techniques Music Software Other Music
Teaching & Academics
Engineering Humanities Math Science Online Education Social Science Language Teacher Training Test Prep Other Teaching & Academics
AWS Certification Microsoft Certification AWS Certified Solutions Architect - Associate AWS Certified Cloud Practitioner CompTIA A+ Cisco CCNA Amazon AWS AWS Certified Developer - Associate CompTIA Security+
Photoshop Graphic Design Adobe Illustrator Drawing Digital Painting InDesign Character Design Canva Figure Drawing
Life Coach Training Neuro-Linguistic Programming Mindfulness Personal Development Personal Transformation Meditation Life Purpose Coaching Neuroscience
Web Development JavaScript React CSS Angular PHP WordPress Node.Js Python
Google Flutter Android Development iOS Development Swift React Native Dart Programming Language Mobile Development Kotlin SwiftUI
Digital Marketing Google Ads (Adwords) Social Media Marketing Google Ads (AdWords) Certification Marketing Strategy Internet Marketing YouTube Marketing Email Marketing Retargeting
SQL Microsoft Power BI Tableau Business Analysis Business Intelligence MySQL Data Analysis Data Modeling Big Data
Business Fundamentals Entrepreneurship Fundamentals Business Strategy Online Business Business Plan Startup Freelancing Blogging Home Business
Unity Game Development Fundamentals Unreal Engine C# 3D Game Development C++ 2D Game Development Unreal Engine Blueprints Blender
30-Day Money-Back Guarantee

This course includes:

  • 5.5 hours on-demand video
  • 1 downloadable resource
  • Full lifetime access
  • Access on mobile and TV
IT & Software Other IT & Software Unit Testing

Android Unit Testing and Test Driven Development

Unit test your Android applications and reap the benefits of professional test driven development in Android
Bestseller
Rating: 4.8 out of 54.8 (1,051 ratings)
6,008 students
Created by Vasiliy Zukanov
Last updated 8/2020
English
English, Italian [Auto], 
30-Day Money-Back Guarantee

What you'll learn

  • Start unit testing today
  • Practice unit testing with carefully designed exercises
  • Understand Android specific challenges with respect to unit testing
  • Write testable Android applications
  • Understand the benefits of Test Driven Development
  • Get tips for adoption of unit testing on Android projects
Curated for the Udemy for Business collection

Requirements

  • Experience with Android (preferably 6 months or more)
  • Knowledge of Java

Description

This course will teach you all you need to know about Unit Testing and Test Driven Development in Android applications. It's designed to get you up and running with unit testing using Android Studio and JUnit in no time by working through a series of carefully crafted hands-on exercises.


What's unit testing?

Unit testing is a practice of writing narrowly scoped automated tests to ensure correctness of your production code. These automated tests allow you to write code that has fewer bugs and is safer to work with in the long term. If you do unit testing, you can write higher quality Android applications that are easier to maintain.


What's test driven development?

Test driven development (TDD) is a set of special unit testing techniques that mandate writing the tests before the production code. While TDD might look complicated on the first sight, I'll show you that it's actually the easiest way to do unit testing.


What's the importance of unit testing in Android?

Unit testing is widely considered one of the most important skills for senior Android developers to have. It's a great investment into medium- and long-term professional career growth.

If bugs slip into your Android application, it can be very challenging to locate and fix them. Furthermore, even after you fix the bugs, it can take days or even weeks until all your users update the app to actually receive these fixes. That's a tough reality of professional Android developer's job. Fortunately, you can greatly reduce the number of bugs in your applications by unit testing your code!

To make your applications unit testable, you'll need to write decoupled code that follows best design principles. This automatically guarantees easier long-term maintenance. In addition, unit testing makes developing Android applications easier and spares a lot of time when done right. 


Why you should take this course:

This course is designed to introduce you to professional grade Android unit testing in the shortest amount of time. I assume that you already know Java and have experience building Android apps. Therefore, this course will not waste your time on Java and Android basics. 

You'll practice what you learn in this course with carefully designed exercises and gradually build up your unit testing skill. 

This course is aimed at professional Android developers who have no prior experience in unit testing. However, I'm confident that even experienced Android unit testers will find much new and valuable information in it.

So, if you're interested in learning professional grade unit testing in Android apps - this course is for you.

Who this course is for:

  • Professional Android developers

Featured review

Jose Silva
Jose Silva
4 courses
2 reviews
Rating: 5.0 out of 510 months ago
To be honest I was not very optimistic about it at first since I knew some of the basic concepts. But right after a few lectures, with all the knowledge acquired, being extremely valuable and insightful, I got very pleased. I must say that the course is very well structured, Vasily was always prompt and ready to clarify any questions and the resources were also carefully structured so we could focus on the TDD techniques. Highly recommendable!!!

Course content

7 sections • 61 lectures • 5h 30m total length

  • Unit Testing
    Preview01:44
  • Preview06:11
  • Preview01:42
  • Udemy Course Review Popup
    01:07
  • Congratulations on Completion of the First Excercise
    02:39
  • Preview02:20
  • Nullability
    07:25
  • Exercise 2
    00:26
  • How to Choose Test Cases
    09:04
  • Exercise 3
    00:29
  • Unit Testing Fundamentals
    01:40

  • External Dependencies
    03:38
  • Test Doubles
    01:33
  • Choosing Test Cases with Test Doubles
    06:59
  • Testing with Test Doubles Part 1
    08:43
  • Testing with Test Doubles Part 2
    10:01
  • Exercise 4
    00:40
  • The Many Meanings of Mock
    01:17
  • Preview04:38
  • Singletons
    04:05
  • Test Doubles Fundamentals
    01:19

  • Mockito
    01:04
  • Testing with Mockito
    14:50
  • Exercise 5
    00:33
  • Objects vs Data Structures
    04:39
  • Preview01:34
  • Preview01:28
  • Annotation Based Mocks Initialization
    00:47
  • Test Class Template
    06:02
  • Mockito Fundamentals
    02:21

  • Issues with Writing Unit Tests After Production Code
    02:15
  • All Test Up-Front TDD Technique
    15:37
  • Exercise 6
    01:06
  • All Tests Up-Front Benefits and Limitations
    01:58
  • The Three Rules of TDD by Uncle Bob
    01:10
  • Uncle Bob's TDD Technique
    15:47
  • Exercise 7
    01:27
  • Uncle Bob's Technique Benefits and Limitations
    02:48
  • AndroidStudio Splits
    02:26
  • Synchronous and Asynchronous Execution
    01:13
  • Testing Observer
    29:44
  • Exercise 8
    01:38
  • Preview02:50

  • Android Framework as Java Superset
    01:19
  • Preview05:17
  • The Minor Challenges of Unit Testing in Android
    05:32
  • The Major Challenges of Unit Testing in Android
    03:58
  • Testability in Android
    05:08

  • Preview02:31
  • Navigating Git History
    02:49
  • Unit Testing Existing Use Case
    17:34
  • Mutation Testing
    08:06
  • Exercise 9
    03:51
  • Unit Testing Existing Controller
    37:41
  • Exercise 10
    03:46
  • Unit Testing Time Related Functionality
    23:56
  • Exercise 11
    05:18

  • Unit Testing as Discipline and Practice
    05:02
  • How to Get Started
    01:41
  • Next Steps and Conclusion
    04:04
  • Bonus Lecture
    02:27

Instructor

Vasiliy Zukanov
Professional Android developer, Blogger, Educator
Vasiliy Zukanov
  • 4.7 Instructor Rating
  • 4,581 Reviews
  • 17,140 Students
  • 6 Courses

I'm a professional Android developer with a wide range of technical interests. After working in microelectronics industry in the past, I'm now constantly amazed at the ability of software developers to turn ideas into products.

I really like teaching and find exceptional satisfaction in explaining complicated ideas in simple words.

My courses are aimed at professional software developers who take their job seriously and aim at technical excellence.

  • Udemy for Business
  • Teach on Udemy
  • Get the app
  • About us
  • Contact us
  • Careers
  • Blog
  • Help and Support
  • Affiliate
  • Terms
  • Privacy policy
  • Cookie settings
  • Sitemap
  • Featured courses
Udemy
© 2021 Udemy, Inc.