Building an HdM Alexa Skill – Part 4

Continuous Integration

This is the last part in our series of blog posts concerning the development of an Alexa Skill. If you missed the previous parts you can catch up by reading part 1 here, part 2 here and part 3 here.

Introduction

Every student group that has worked on a software project can retell the following situation: you’re one week ahead of the deadline, every team member has spent the last weeks working on their part of the project. So far, everything looks great – every module works on its own, the GUI is designed and implemented, the database is modeled and set up, client and server are both running smoothly. All that’s left is combining all the bits and pieces to see everything in action together. Easy, right? Fast forward another five days, it’s the weekend before the final presentation: the air is thick with panic with everyone furiously debugging their code, solving merge conflicts left and right while trying to get the project to some kind of working state that will at least survive the demo. Things that were already working in isolation are now broken and quite a bunch of features that were an inch close to completion will never make it into the presentation. So what has gone wrong? And what have we done to prevent the same from happening with our Alexa Skill?

Continue reading

Building an HdM Alexa Skill – Part 3

Test-driven Development of an Alexa Skill with Node.js

This is the third part in a series of blog posts in which we will describe the process of developing an Amazon Alexa Skill while focusing on using new technologies like serverless computing and enforcing the use of clean code conventions. We decided for our project to use continuous integration and delivery. For that to work as it should and to prevent unnecessary bugs from being discovered by the user, we relied on test-driven development for our code.

Continue reading

Test Driven Development Part II


[written by Roman Kollatschny and Matthias Schmidt]

Welcome back to the second article in our Node.js development series. Today, we are going to adapt the TDD cycle in an helloWorld example application. If you missed our first article about the principles of TDD, you can find it here.

In the last article, we learnd about the fundamentals of the test driven development process. That involved the five steps of the TDD cycle, which have to be repeated until the completion of the application. We also had a look at our two frameworks Mocha and Chai that we are using in this tutorial.

Let’s code!
Continue reading

Test Driven Development with Node.js


[written by Roman Kollatschny and Matthias Schmidt]

This is a series of blog posts which addresses different development topics like test driven development, code style and code quality for the Node.js runtime.
The series requires some basic knowledge about JavaScript, Node.js and basic webdevelopment techniques in general.
It will start with this first article about test driven development on Node.js using the tools Mocha and Chai.

Most of us have heard something of test driven development, but only a very few know the methods of this development style and even less do really develop test driven. Since we only have heard the principles of testing in software development but never really were able to use them in practice, we decided to dive into this topic. To give you also a benefit of our diving experience, we want to show you, how to develop test driven.

Continue reading