Ask An Earthling: Automated Testing & Test Driven Development
Earthling’s approach to testing has evolved over the years. Like many software development operations, we’ve been refining our protocol based on experience and resident skill set. Every project has unique QA demands so we strive to achieve the right balance of manual vs. automated tests while ensuring that the latter are built with a proper proportion of unit, integration, and feature tests. In this series of interview questions, Earthling’s application architect Steve Brudz talks about automated testing and shares his insights on how to get it as close to perfect as you can.
Intro
Automated Testing
“It can be very painful to test manually every time you make a change to the system so really what you want to do is automate your testing as much as possible (while keeping) a balance.”
Types of Tests
Unit tests
Integration tests (aka service tests)
Feature Tests (aka web tests, UI tests)
Testing: Timing and Scale
“If you’re crunched for budget there can be that pressure not to write tests because it takes time and (may seem like) it’s going to detract from the ability to get the software ready for demo… but actually writing tests can help accelerate your progress if you invest wisely.”
Feature Tests: Benefits and Pitfalls
“There’s a temptation to keep adding tests and do all the (possible) permutations. But if you do that all at the feature test level you end up having very slow tests, they take a long time to run, and they are expensive to maintain.”
https://www.youtube.com/watch?v=x-wanmhqVw4
To provide the best experiences, we use technologies like cookies to store and/or access device information. Consenting to these technologies will allow us to process data such as browsing behavior or unique IDs on this site. Not consenting or withdrawing consent, may adversely affect certain features and functions.
Functional
Always active
The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network.
Preferences
The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.
Statistics
The technical storage or access that is used exclusively for statistical purposes.The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
Marketing
The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes.