Acceptance Test for Hiring Java Developers

Posted on Tuesday, February 24, 2009

0


While researching for my news post on InfoQ, I came across a very interesting acceptance test for Java developers in an extreme programming yahoo group.

The test goes like this


class SeniorDeveloperAcceptanceTest extends TestCase{
Developer candidate;
Collection team;
public void setUp() {
candidate = new Developer();
team = Leirios.getTeam();
}
public void testTechnicalSkills() {
assertTrue(candidate.isJavaExpert());
assertTrue(candidate.canDesignLargeApplication());
assertTrue(candidate.canReduceTechnicalDebt());
assertTrue(candidate.practiceTDD());
}

public void testTeachingSkills() {
assertTrue(candidate.canImproveTeamSkills());
assertTrue(candidate.canArgueAboutAgility());
}

public void testHumanBehavior() {
assertTrue(candidate.canPairProgram());
assertTrue(candidate.canIntegrateWith(team));
assertTrue(candidate.hasPositiveAttitude());
}

public void testMethodologySkills() {
assertTrue(candidate.knowExtremeProgramming());
assertTrue(candidate.canImproveTeamVelocity());
}
}

and another one


class SeniorDeveloperBonusAcceptanceTest extends TestCase{

String[] bonusSkills = new String[]{
"canDevelopEclipsePlugins",
"knowSoftwareEdition",
"isReallySmart"};

public void testAcceptedCandidate(){
Collection<Developer> candidates = Leirios.gatherCandidates();
Developer toBeHired =
Leirios.selectCandidateWithMaxBonus(bonusSkills);

for(Developer candidate: candidates){
if (candidate.equals(toBeHired))
assertTrue(Leirios.willHire(candidate));
else
assertFalse(Leirios.willHire(candidate));
}
}
}

Advertisements
Posted in: Agile, Java