テスト設計コンテストの紹介

この記事は、SLP_KBIT Advent Calendar 2016の2日目の記事です。

qiita.com

はじめに

うちの研究室のボスから、今年は配属希望者が少なかったからもっと宣伝してと言われたので、宣伝の記事を書こうと思います。
とは言っても、研究については先生から聞けると思うのでそれ以外について書こうと思います。

ということで今回は、現在、研究室のメンバーで取り組んでいるテスト設計コンテストについて紹介します。

テスト設計コンテストとは

テスト設計コンテストとは、ソフトウェアテストの設計に関する技術を競うコンテストです。

aster.or.jp

そもそも、ソフトウェアテストとは

簡単に言うと、ソフトウェアの開発において、出来上がったソフトウェアにバグなどぬ不具合が無いか、意図したものが出来ているかを確認する工程です。

例えば、0から99までの値を2つ受け取って、それらを掛けた値を返すプログラムをテストするとします。
このとき、100×100の10000通りのテストをすれば十分といえるでしょうか。もし、数字以外が入力されたらどうなるのでしょう。
それら全てをテストしようとすると、英数字だけで62種類あり、これに漢字なども入れると数が多すぎてとても現実的ではありません。

したがって、テストを実施する対象を分析した上でテストを設計するなど、戦略的にテストを行うことが重要になります。

コンテストの概要

コンテストは今年からOPENクラスと30才以下に限定されるU-30クラスに別れています。今回はU-30クラスに参加しました。以下の内容は全てU-30クラスについてです。

コンテストは、8人以下のチーム対抗で行われます。
各チーム、与えられたテスト対象について話し合い、締切日までに所定の成果物を提出します。その上で後日プレゼンテーションを行います。審査は、この両方について総合的に行われます。

どんなことをするのか

どのように取り組んだかなどをくわしく書きたかったのですが、まだ成果物の提出が締め切られていないのでざっくりとした説明だけします。

まず、このようなテストの対象となるものの、仕様書などが与えられます。
http://www.sessame.jp/workinggroup/WorkingGroup2/POT_Specification.htmwww.sessame.jp http://aster.or.jp/business/contest/doc/ASTER_U30_tdc_supplement.pdfaster.or.jp

これをもとに、チームでテストの方針について話し合います。ここでは、テストの対象の背景などを踏まえ、どのようなことに重点を置くかなどを決めたりします。
そして、それに基づき、テスト対象を分析していきます。分析の方法はいろいろありますが、自分たちの方針にあったものを選びます。この分析で得られた結果は、最終的な成果物とともに提出するので、整理しながら進めていく必要があります。 次に、分析した結果をもとにテストケース(入力とそれに対応する期待結果)などを考えていきます。
最後に、これらを文書にまとめて最終的な成果物として提出し、会場でプレゼンテーションを行います。

おわりに

この記事を読んで、少しでもソフトウェアテストやうちの研究室、コンテストなどに興味をもっていただければ、嬉しいです。