Study session: Testing – Motivation



Study session: Testing – Motivation

0 0


presentation

view at https://tkruse.github.io/presentation/

On Github tkruse / presentation

Self-Presentation

What I did and what I want to do

Created by Dr. Thibault Kruse

Test-related interests

  • Software development processes
  • Diverse programming languages
  • Open-Source software
  • Quality Assurance - Infrastructure
  • Static Code Checkers

CV overview

  • -2004: Dipl. Inf, TU Kaiserlautern

  • -2006: JEE Consultant for IBM UK

  • -2014: PhD in robotics, TUM, Prof. Beetz

  • -today: JEE Consultant Munich

PhD Topic: Robotics

... big step for me, small step for mankind.

https://github.com/tkruse/build-bench
buckv2015.12.28.01maven3.3.9gradle2.10sbt0.13.9bazel0.1.4rc2pants0.0.70buildr1.4.23ant_ivy1.9.6ID0.0100.0value0.0112.6

Other contributions

  • C++ Core Guidelines (81 commits)(github.com/isocpp/CppCoreGuidelines)
  • Cpplint (maintainer) (github.com/tkruse/cpplint)
  • Vcstools (260 commits) (github.com/vcstools/vcstools)
  • Groovy (172 commits) (github.com/groovy/groovy-core)

Summary

Diverse experiences Motivated by software quality Interest in improving tool support Curious about ESO team

The end

Thanks for listening

Why this project?

  • Google open-sourced Bazel
  • "After switching from x to Y, our builds got 50% faster"
  • What features exist? What are the downsides?
  • How to convert?
  • Maturity of alternatives?
  • Get objective facts. Repeatable. Open.

History of Java buildsystems

Name Year (Open) Model Caching Apache Ant 2000 Rules None Apache Maven 2002 POM Snapshot repo Gradle 2007 POM last build Leiningen 2009 POM last build Apache Buildr 2010 POM last build Sbt 2010 POM last build Buck 2012 Rules true cache Pants 2014 Rules None Bazel 2015 Rules true cache

Why does performance matter?

  • Short iteration cycles
  • Higher tool acceptance
  • Better code quality

... but only one of many evaluation facets.

Framework setup

  • Gnu Makefiles organizing steps
  • Buildsystems downloaded from source
  • Python jinja2 templates (source + buildfiles)

minimal dependencies, self-installing, local installs (~1 GB)

Bonus: Other Interests

  • Open-Source projects (ROS, Groovy)
  • Aikido
  • Psychology
  • Guitar
Self-Presentation What I did and what I want to do Created by Dr. Thibault Kruse