Test driven architecture

Login to KOS for course enrollment Display time-table
Code Completion Credits Range Language
BI-TDA KZ 4 2+1 Czech
Marek Hakala (guarantor)
Marek Hakala (guarantor)
Department of Software Engineering

The course is focused on practical examples of how to develop, test, and deploy software with tools like GitLab, Docker, Kubernetes, and more that are well known in the DevOps world. This course has a strong connection on courses like BI(E)-SI1 and BI(E)-SI2. The main goal of this course is to learn by examples that occur in the semester project.


The prerequisite is basic knowledge of information system architecture.

Syllabus of lectures:

1.IT Architecture Overview

2.Paradigms of IT Integration like P2P, SOA, Microservices, and Serverless

3.Application deployment with Ansible, Puppet, and Chef tools

4.DevOps approach to containers provisioning and orchestration

5.Docker overview with a focus on testing

6.Introduction into orchestration with platforms like Kubernetes and Openshift

7.The familiar paradigms of software testing like TDD, BDD, ATDD, and integration testing

8.Continuous Integrations and Continuous Delivery systems

9.Overview of platforms for CI and CD: Gitlab CI, Travis CI, Jenkins

10.What are testing pipelines? Project pipeline, CI pipeline, and Deployment pipeline

11.How to do testing of back-end API applications with Mocha.JS and Chai.JS frameworks?

12.Blue/Green deployment, Canary deployment, and A/B testing with Openshift platform

Syllabus of tutorials:

1.Introduction into the semester project

2.Office hours

3.Office hours

4.First presentation

5.Office hours

6.Final presentation

Study Objective:
Study materials:

[1] MARTIN FOWLER, 2002, Patterns of Enterprise Application Architecture 1st Edition, 560 pages, Addison-Wesley Professional, ISBN 978-0321127426

[2] MATTHEW FULLER, 2016, AWS Lambda: A Guide to Serverless Microservices, 118 pages

[3] RENE MOSER, LORIN HOCHSTEIN, 2017, Ansible: Up and Running: Automating Configuration Management and Deployment the Easy Way 2nd Edition, 430 pages, O'Reilly Media, ISBN 978-1491979808

[4] GENE KIM, PATRICK DEBOLS, JOHN WILLIS, JEZ HUMBLE, JOHN ALLSPAW, 2016, The DevOps Handbook: How to Create World-Class Agility, Reliability, and Security in Technology Organizations, 480 pages, IT Revolution Press, ISBN 978-1942788003

[5] JO RHETT, 2016, Learning Puppet 4: A Guide to Configuration Management and Automation 1st Edition, 594 pages, O'Reilly Media, ISBN 978-1491907665

[6] KARL MATTHIAS, SEAN P. KANE, 2015 Docker: Up & Running: Shipping Reliable Containers in Production 1st Edition, 230 pages, O'Reilly Media, ISBN 978-1491917572

[7] NIGEL POULTON, 2017, The Kubernetes Book, 145 pages, Independently published, ISBN 978-1521823637

[8] STEFANO PICOZZI, MIKE HEPBURN, NOEL OCONNOR, 2017, DevOps with OpenShift: Cloud Deployments Made Easy 1st Edition, 152 pages, O'Reilly Media, ISBN 978-1491975961

[9] JEAN MARCEL BELMONT, 2018, Hands-On Continuous Integration and Delivery: Build and release quality software at scale with Jenkins, Travis CI, and CircleCI, 416 pages, Packt Publishing, ISBN 978-1789130485

Time-table for winter semester 2018/2019:
Time-table is not available yet
Time-table for summer semester 2018/2019:
Time-table is not available yet
The course is a part of the following study plans:
Data valid to 2019-03-26
For updated information see http://bilakniha.cvut.cz/en/predmet5712406.html