This document discusses the role of a test developer in a system test department. It argues that every system test department should have one or two test developers to help automate testing so that testers can focus on quality human testing. A test developer is someone who loves automating testing using programming and scripting languages. Having test developers can provide benefits like dedicated time for test automation, reproducing complicated bugs, and compiling open-source tools, but there are also potential risks like less manual testing and the test developer becoming too focused on development over reuse. The document provides suggestions on where to find test developers, how to boost them, and what a role description for a test developer might include.
Why every systems test department should have a Test Developer (…or two) with Kristoffer Nordström
1. Kristoffer Nordström, Northern Test Consulting
Why every system test department should have a test
developer (… or two)
www.eurostarconferences.com
@esconfs
#esconfs
@kristoffer_nord
2. …so that testers can focus on quality human testing
Test Developer who loves to automate testing
WhoAmI
Scrum Master
Agile freak
Test automation
Developer
Tester
Test Developer
Leanfrastructure
UIQ Technology
Softhouse ABSvenska Antennspecialisten
Embedded platforms
Team Lead
Non-functional testing Test automation
Test tools
Automated GUI Testing
Aut. dev. testing
Charging systems
NFNT Testing
Automated GUI Testing
Test data
Automated Installation
System testing
Exploratory testing Northern Test ConsultingElectric Cloud
3. Presentation Outline
• What is a test developer?
• Challenges…
• Why?
• Potential risks…
• Where to find them?
• How to boost them?
• What is a test developer!
11. Automatic provisioning
Copy new binaries, testdata
etc.
Reset
application
configuration,
databases,
etc
Virtual Machines, Docker,
LVM
PXE boot -
install OS
12. Overriding System Calls
Test Case Production Code
Glibc::readdir()
SystemCall::getdents()
Virtual File System
LD_PRELOAD::Override_readdir()
Loadable Kernel Module::Override_getdents()
13. Potential risks
Less
manual
testing
”The team
within the
team”
Not working
focused
enough
Develop over
Reuse
Risk of
department
relying to
much on one
team/person
Hard to keep
up quality
when working
as solo
developer
14. Where do I find one?
Hire your own Train your own
Train from
developer
Train from
tester
Train from
student