Latest Updates: Testing RSS

  • Cost of Complexity is not Linear

    Andrew Darnell 2:15 pm on 24th May, 2010 | 0 Permalink | Reply
    Tags: Refactoring, TDD, Testing

    Pretty visualisation of "We will rock you" by Queen

    It is very clear that for systems of reasonable complexity (i.e. anything beyond toy examples) that increasing the complexity by ten percent adds far more than ten percent to the time to deliver, and far more than ten percent to the required effort to deliver. Therefore fighting complexity at every opportunity pays dividends over the life of the product.


    Occam’s Razor is one of the most powerful tools in our armoury. Each area of uncertainty adds complexity to the product, adding to the developers workload. Each unit test that delivers certainty simplifies the developers work load. Each opportunity to simplify missed adds cost to the project for all developers. This is one reason why refactoring not only reduces technical debt, but improves the ability to deliver. Just making the code more understandable – ie. simpler, without changing the functionality has changed the rate at which new features can be produced.

    (More …)

     
  • Agile – Tests = Fragile

    Andrew Darnell 3:55 pm on 9th April, 2010 | 0 Permalink | Reply
    Tags: , , , , Testing,

    The nature of agile projects, with lots of small releases mean that there are a lot of test runs to execute if you want to have any confidence in the code and the product.

    Ignoring this testing just generates projects which will fail – not may fail – will fail, categorically will fail!

    There are two sets of tests that are critical here…

    Good unit test coverage and a TDD approach to development ensure that the rest of the organisation is supplied with product that works as developers expect it to.

    Component tests and functional acceptance tests ensure that the product does what the product owner expects it to.

    • Practically, the only way to do solid testing on new features is to have a stable product.
    • Practically, the only way to assure a stable product is to either have solid regression testing on each release or to not make any changes.
    • Practically, the only way to make sure that adequate regression testing is done is to automate the regression tests (unit, component, functional).

    Without these tests in place, iterating quickly places an impossible to meet burden of verification demand on the testers and product owners, which just gives you a fragile process not an agile one.

    Is your process Agile or Fragile?

     
  • Caplin Tech Talk Series, by the self-elected programme chair ;-)

    Andrew Darnell 4:12 pm on 16th March, 2010 | 0 Permalink | Reply
    Tags: education, Productivity, , techtalk, Testing

    As QA manager at Caplin, I manage a very busy team of test engineers.

    Previous to starting at Caplin, I was the European Test Engineering Manager at Google. While there I gained a few helpful tips to encourage ongoing learning, brainstorming, discussion and a bit of entertainment despite the typical time constraints of a busy testing environment.

    One of these ideas is regular tech talks. I find a short mental break from my usual week looking into something completely different can spur a number of interesting ideas and some excellent discussion amongst participants.

    The Caplin Tech Talk Series

    (More …)

    Related Posts with Thumbnails