現在私たちの周りにはスマートフォンやパソコン、ATMなど数え切れないほどの機械があり私たちの生活を便利なものにしています。
それらすべてのデバイスの機能を動かしているのがソフトウェアです。
今回の記事ではその生活に欠かせないソフトウェアがどのように作られているのか、品質保証の工程をお話ししたいと思います。
1、開発におけるテスト業務とは
このように私たちの生活を支えるソフトウェアですが、それは非常に複雑なプログラムで構成されていて、ソフトウェアを完成させ正常に作動させるには無数の工程と複雑な作業が必要になります。
そこでソフトウェアが正常に作動するかどうかを確認するのが「ソフトウェアテスト」になります。
私たちソフトウェア テスターはweb上で作動するソフトウェア から家電などを動かすための組込みソフトウェア など様々なソフトウェア を様々な条件での動作を確認し、バグが検出されたら開発者に報告するという業務を行なっています。
2、テストの種類
・単体テスト
単体テストとは、作成したプログラムを一つ一つテストして正常に動くかどうかを検証す るものです。
・結合テスト
結合テストとはその名の通り単体テストでチェックしたプログラムを組み合わせて、その 場合に正常に作動するのかを検証するものです。
・システムテスト
これがテストの仕上げになります。プログラムをハードウェアに実際に組み込んで設計通 りに動くかどうかを検証します。
この通り一口にテストといっても様々な種類に分類されます。またここからさらにテストの種類は細分化され、非常に複雑な作業となっています。
3、システムテストの手順
・
まずソフトウェアをテストする場合は最初に「テスト計画書」を作ります。テスト計画書にはテストの対象範囲、方法、環境、スケジュールなどテスト全体の方針や概要を決めます。
次に最初に作ったテスト計画書をもとに仕様書を作成します。この過程はシステムがどのように動くのかということをテスターが理解するという点において非常に重要です。
最後に作成した環境を構築して、テストを実施します。そして不具合が見つかるたびに修正、そしてテストを繰り返します。
4、テスト業務を委託するメリット
このようにソフトウェアのテスト作業は非常に大変な作業であることがわかると思います。ではその非常に手間であるテスト作業をその分野を専門とする会社に委託することはどんなメリットがあるのでしょうか。
・開発時間の短縮
ソフトウェアテストは開発の工程の大部分を占めます。
そのため浮いた時間は他の開発に回すことができます。
・品質の向上
テストを委託するのはテストを専門とした会社ですから、テストに特化したツールやテスト自動化などの最先端の技術を持っています。
そのため質と効率は格段によくなります。
・コスト削減
オフショア開発などによって日本よりもエンジニア単価の低い国にテスト業務を委託することで大幅にコストをカットすることができます。現在オフショア開発先の国のエンジニアの技術レベルは非常に高くなっているため品質の向上も期待できます。