September 2019: A testimonial about test driven development by KP Mobile Developer, Rojina Shrestha.
Test Driven Development (TDD)
Unit-tests are as important as the core software itself and ensures cleaner code and implementations.
Testimonial by KP Mobile Developer, Rojina Shrestha
When we started learning to code in school, we always wrote ‘the code’ that solved a given problem and that is how it all started for most of us. Only after I started working as an intern software engineer in a software company, I knew anything about the concept of unit-test. I think it is needless to say the unit-tests are as important as the core software itself. If done right, unit-tests ensure proper integration & integrality of our code, and can reduce significant amount of time debugging a regression issue introduced by code-refactoring.
Most of the time I have seen developers write the unit tests just to satisfy the code coverage metrics, and there are still some part of the code that are not covered by any unit-tests. TDD is a slightly different approach in which we develop our code through unit-tests. It is not merely for getting the code coverage up, but also to make sure every components/functions that we write behaves exactly as we intended, and it is all achieved by developing proper tests even before the business logic has been coded.
In TDD, RGR cycle is one of the process that developer use to build test cases, write the implementation code and then optimize the codebase in the short development cycles. Here R stands for Red, it means write failing test, G stands for green, it means how to make the tests pass and R stands for refactor, and it means refactor both the app code and test code.
There are always pros and cons, in my opinion the biggest strength of using this TDD approach is that it enforces the developer to write better testable code and cleaner implementation. When we are writing the foundation of the project, it is good to do TDD approach, it makes sure that we have a clear understanding of the design, before implementing it.
Test-driven development has many advantages, however, one of the significant problems is the way of its implementation, we must write the unit-test cases for each module, which is time-consuming and costly. And if we have the existing project which is already in production, and doesn’t have or less code coverage, it is hard to implement the TDD approach. Having said that, I strongly suggest trying out TDD whenever we refactor, add functionality or even when we do a major/minor bug fixes in an existing project.
TDD development practice is very common in software development world and it is extensively documented. There are many books & articles dedicated to this topic and the MCoE hosts a monthly Mobile Developer Community of Practice meeting to support these topics and evolving theories. Join us on the 3rd Tuesday of every month at 1pm PT at the Mobile Development Community of Practice.
Thank you for reading this article by Rojina on TDD. Take a minute to send us advice about this submission or feel free to suggest another topic for the MCoE Newsletter.
Stay up-to-date with mobility industry technical news; access tech news archives here.
Making connections through mobile
For help with developing and designing your POC, or certifying and deploying your mobile app, submit an intake form. We’ll make the connection from our team, products, and services to our partners.
OUR PARTNERS include Business and IT groups such as CDO, CDTS, DEC, IMG, IT Finance, ITSS, HPO, TEDD, TRO, TPMG, and many more. We also collaborate with contractors and vendors, including Lolay, HES, ProKarma, PwC, and TTEC.
OUR PRODUCTS & SERVICES include:
- Mobile App Certification – all mobile apps used by Kaiser Permanente’s members, providers, and workforce must be certified according to the KP Policy owned by the MCoE
- Mobile DevOps Delivery Pipeline – a Continuous Integration & Continuous Delivery platform for both iOS and Android mobile operating systems
- Mobile Design Resource Center mDRC – a repository of UI/UX assets, case studies, best practices, standards, design kits, and more
- Mobile Developer Kit MDK – reusable libraries, for example: KPAuth for Enterprise Authentication
- Mobile Accessibility Workshop – a hands-on session that applies a mobile perspective to the WCAG 2.1 (Web Content Accessibility Guidelines) standards
- Mobile Community of Practice – hosted twice monthly, mCOP meetings encourage learning, foster motivation, and opens a wide range of expertise to help with technical challenges to fuel continuous improvement
- Request a demo or capabilities presentation – email us the details – and an engagement manager will respond within 2 business days
OUR TEAM of mobile app experts include:
- UI/UX Designers
- iOS and Android Developers and Principles
- Build, Release, and Mobile DevOps Engineers
- Deployment Managers
- Project, Program, and Portfolio Managers
- Certified Scrum Masters and Agile / SAFe Consultants
MCoE partnership – Contact us
KAISER PERMANENTE exists to provide high-quality, affordable health care services and to improve the health of our members and the communities we serve.
The MCoE (Mobility Center of Excellence) team exists to deliver complex mobile solutions through enterprise-wide engagements. We design, develop, certify, and deploy mobile apps for KP members, providers, and workforce. Submit an MCoE intake form for access to app services, kits, and advice.
Email MCoE-Comms@kp.org to subscribe to our bi-monthly newsletter and ask about our tech-newsletter for developer partner updates.
For more information, visit: