Why test automation and continuous integration?

Test automation is essentially taking existing test cases and making a computer do them instead of a human being. Test automation is usually part of continuous integration.  We would run Jenkins on a new instance in AWS. Every time an engineer commits new code, Jenkins runs all of our Cucumber test cases against it automatically, without the involvement of a single human being. This way, if any commit breaks anything anywhere in the system that’s covered by the automated tests, the error will become visible immediately and will be fixed before we even get close to a release date. The advantage of this approach is that you don’t have to wait to accumulate a bunch of features so that Read more

When being lazy is actually a good thing

“Practice not-doing and everything will fall into place.” – Lao Tzu Recently I encountered a small and funny problem that I’d like to share with you. Imagine there is a model Trivium (question: string) and a model TriviaAnswer (trivium:references, answer:string, is_correct:boolean). Essentially they represent a question with related answer options. There is also a word document containing data to be loaded. It looks something like this: Read more