01.02.2013 Views

Software Development Cross Solution - Index of - Free

Software Development Cross Solution - Index of - Free

Software Development Cross Solution - Index of - Free

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

incorporating system testing<br />

System testing depends on a<br />

complete system to test<br />

If you’re velocity is pretty accurate and your estimates are on, you should<br />

have a reasonably full iteration. It also means you don’t have a stack<br />

<strong>of</strong> empty days for system testing...and on top <strong>of</strong> that, you won’t have a<br />

system to test until the end <strong>of</strong> your iteration.<br />

At a minimum, the system needs to get out for system testing at the end<br />

<strong>of</strong> each iteration. The system won’t have all <strong>of</strong> its functionality in the early<br />

iterations, but there should always be some completed stories that can be<br />

tested for functionality.<br />

Q: Can’t we start system testing earlier?<br />

A: Technically, you can start system testing earlier in an iteration,<br />

but you really have to think about whether that makes much sense.<br />

Within an iteration, developers <strong>of</strong>ten need to refactor, break, fix,<br />

clean up, and implement code. Having to deliver a build to another<br />

group in the middle <strong>of</strong> an iteration is extremely distracting and<br />

likely to including half-baked features. You also want to try to avoid<br />

doing bug fix builds in the middle <strong>of</strong> an iteration—an iteration is a<br />

fixed amount <strong>of</strong> time the team has to make changes to the system.<br />

326 Chapter 9<br />

Download at WoweBook.Com<br />

You should be testing all along,<br />

but that’s unit testing—<br />

focusing on lots <strong>of</strong> smaller<br />

components. You don’t have a<br />

working system to test at a<br />

big-picture, functional level.<br />

You don’t have a system that’s<br />

really testable until the end<br />

<strong>of</strong> your iteration. It will<br />

build at every step, but that<br />

doesn’t mean you’ve got enough<br />

functionality to really exercise.<br />

They need to have the freedom to get work done without worrying<br />

about what code goes in which build during the iteration. Builds get<br />

distributed at the end <strong>of</strong> an iteration—protect your team in between!<br />

Q: So what about the people doing testing? Where do they<br />

fit in?<br />

A: It’s definitely best to have a separate group doing system<br />

testing, but as for what they should do while your main team is<br />

writing code, that’s a good question. And even if you have other<br />

developers do system testing, the question still applies...

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!