Level 12’s Chief Executive Developer (CED), Randy Syring, was invited to present on automated software testing at the Code PaLOUsa developer conference (Louisville, KY), March 29/30, 2016.
Session Overview
- Session 1: Automated Testing Overview and Best Practices
- Session summary: We’ll cover testing best practices, ways to make team testing more effective, test-centric vs. test-driven development, and how to get started testing when there are no tests and the code is messy. We’ll use an example project to see how these ideas flesh out in the real world.
- Slides can be viewed by clicking the session title above. The slide sources are also available on GitHub.
- Session 2: Testing Application Boundaries
- Session summary: When it comes to automated tests, testing our internal code is often the easiest. But when it comes to things like Databases, Email, Web APIs, that is, when we cross our application’s outer “boundary,” testing can get really difficult really fast. In this talk, we will look at best practices for automated testing around areas of our application that reach beyond it’s “boundary.”
- Slides can be viewed by clicking the session title above. The slide sources are also available on GitHub.
The sessions emphasized the benefits of automated software testing and encouraged developers to begin now and build up their code coverage (the percentage of code covered by automated tests) over time. Additionally, the talks emphasized that writing tests along with the code under test often results in less technical debt and the spaghetti code that can be prevalent in the industry.
Automated Testing Value
The sessions also addressed the value of automated testing. Automated software testing is often ignored or marginalized due to the additional time it takes to write the tests. But this perspective usually reflects a poor understanding of the software development life-cycle and fails to consider the medium and long-term value a robust test suite brings to software applications or libraries. As evidenced by the following graphic, for any non-trivial application, the cost of not having automated tests continues to climb over the life of the software by slowing down feature development and making bugs harder to find and fix.
Level 12 & Automated Testing
Level 12’s focus on test-centric software development facilitates the creation of efficient, scalable, and quality software, designed and built custom to solve the client’s business pain points.
Image credit : Leonard Fingerman