SWE 637 Homework 6
Spring 2019
Final Tools Assignment
There are six options for the final assignment.
Pick one.
-
For those with interest in Agile methods
do something that you haven't done before.
For novices, this might mean working through a simple
TDD example such as Koskela, chapter 2:
Koskela is available online through Mason's Safari subscription:
Direct Safari
Link
Off Campus Safari Link.
-
For more advanced Agile developers, this might mean setting up and
playing with a continuous
integration service such as
Jenkins
or
Travis CI.
Or it might mean delving into mocking tools at more depth than you currently have.
-
Download the
Pex
tool and use it to generate some tests on a small project.
-
Read the book How Google Tests Software
and determine where your organization is on the "Test Certified Level"
(Chapter 2) scale.
Create up a plausible plan to move your organization up to a higher
level.
Ideally, you would want to actually start implementing
this plan, but that is not required for credit.
The book is available electronically through Mason's Safari subscription:
Direct Safari Link
Off Campus Safari Link.
-
Consider the PIT
mutation tool.
Apply PIT to a program of your choosing
and generate tests to kill the PIT mutants.
Analyze the PIT mutation operators and determine whether or not
PIT mutation subsumes branch (edge) coverage (with either the default
or the optional operators).
-
Consider the Major
mutation tool.
Apply Major to a program of your choosing
and generate tests to kill the Major mutants.
Determine how many of the unkilled Major mutants
are, in fact equivalent. (If you have more than a handful of these,
you should use a statistical approach that involves
only analyzing enough to answer the question to a reasonable
confidence level - say, 90%.)
In all cases, turn in a concise report.