Regression Testing

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Favorites, Groups & Events

    Regression Testing - Presentation Transcript

    1. Regression Testing Gavan Fantom gavan@NetBSD.org pkgsrcCon 2005
    2. Introduction Have you ever committed anything to mk? ● Did you break stuff? ● Has anybody else broken your code? ● What testing do you do before you commit? ●
    3. Regression Testing Framework Automated tests of pkgsrc infrastructure ● Designed at pkgsrcCon 2004 ● Will solve all the world's problems ● (except those solved by pkgviews) But not a substitute for other forms of testing ●
    4. How to run regression tests Install pkgtools/pkg_regress ● Run pkg_regress ● pkg_regress -v shows more details – Tests live in regress/ ●
    5. Why should you run regression tests? Make sure stuff is broken before you commit ● Notice breakage more quickly ● You should run regression tests more often if ● you use non-standard settings or an esoteric Operating System.
    6. How to write a regression test Test a specific feature of the infrastructure ● A test contains: ● spec file – Makefile (typically) – Any other files required – A test is only a test if it contains a spec file ● Other directories are ignored, so a test can consist of – more than one package if necessary.
    7. Regression test example regress/pkgfail ● Makefile – spec – Tests that PKG_FAIL_REASON does what it ● says on the tin
    8. Makefile DISTNAME= regress-pkgfail-0.0 CATEGORIES= regress MAINTAINER= gavan@NetBSD.org COMMENT= Test PKG_FAIL_REASON PKG_FAIL_REASON= \"This package should never build\" .include \"../../mk/bsd.pkg.mk\"
    9. spec MAKEARGS_TEST=install check_result() { exit_status 1 output_require \"This package should never build\" }
    10. Things you can do in the spec file Override: ● do_setup, do_cleanup, do_test – check_result – Define: ● MAKEARGS_TEST – MAKEARGS_CLEAN – Use: ● exit_status status – output_require \"Good Regular Expression\" – output_prohibit \"Bad Regular Expression\" –
    11. What makes a good test? Simplicity ● Platform-independence ● Environment-independence ● Consistency ●
    12. What makes a bad test? Hard to understand ● Random or variable results ● Only works correctly on certain platforms ● Succeeds if infrastructure is broken ●
    13. Why should you write tests? Stop people from breaking things you care ● about Formally specify desired pkgsrc behaviour ● Because you can ● Enter the competition for the most ● complicated regression test. Currently, jlam is winning.
    14. Room for improvement Better reporting ● Locale support ● Support sub-tests ● Write more tests ●
    15. Questions?
    16. Regression Testing Gavan Fantom gavan@NetBSD.org pkgsrcCon 2005

    + asmodaiasmodai, 2 years ago

    custom

    461 views, 0 favs, 0 embeds more stats

    So you're about to commit a change to the pkgsrc in more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 461
      • 461 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 31
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories