April 10, 2012

Боевое крещение (Pairwise testing)

Впервые предоставилась возможность использовать pairwise testing в реальных условиях! До этого много читала и безусловно соглашалась с эфективностью этого подхода, однако,шанса все не выпадало. И вот свершилось!
Напомню,что

All-pairs testing"" or pairwise testing is a combinatorial software testing method that, for each pair of input parameters to a system (typically, a software algorithm), tests all possible discrete combinations of those parameters. Using carefully chosen test vectors, this can be done much faster than an exhaustive search of all combinations of all parameters, by "parallelizing" the tests of parameter pairs. The number of tests is typically O(nm), where n and m are the number of possibilities for each of the two parameters with the most choices.
(c) Wiki

О самом алгоритме подробнее можно прочитать здесь

Для генерации я использовала PICT от Майкрософт. Консольная утилитка на входе принимает файл модели (описание параметров и их значения), а на выходе выдает готовые комбинации, даже умеет в эксельку красиво выводить, что не может не радовать.
При необходимости можно создавать "подмодели", учитывать зависимые параметры и перебирать не парами, а,например, тройками параметров.

Результаты реально впечатляющие - из 150+ возможных комбинаций (потом надоело считать) было оставлено 14!

6 comments:

  1. Мои поздравления

    ReplyDelete
  2. pairwise — штука весьма удобная во многих случаях.

    единственное, я не понимаю, зачем все мучаются с консольным PICT, если есть gui-шный ACTS?
    http://csrc.nist.gov/groups/SNS/acts/documents/comparison-report.html#acts

    есть и разные алгоритмы, и правила.

    ReplyDelete
    Replies
    1. Спасибо! Обязательно просмотрю ее.

      Delete
  3. Пользуюсь AllPairs by James Bach http://www.satisfice.com/tools.shtml

    ReplyDelete
  4. If you're interested in allpairs testing / pairwise testing / orthogonal array testing, please also check out www.hexawise.com.

    ReplyDelete
  5. AllPairs требует Питон, неудобно. Спасибо за статью, интересно.
    Скажите, есть ли что-то об алгоритмах получения ортогональных массивов которые они испол. в программах pairwise?
    Понятно что с ортогонал. матрицами ничего общего, к сожалению

    ReplyDelete