今回はIT業界で行われているテスト業務について紹介するよ!
はじめに
ITの普及により、スマートフォンアプリやWebサイト、アプリの開発の需要があがりました。
昨今ではYoutubeなどで、手に職つけよう!ということでエンジニア職がよく紹介されています。
そのような流れの中、IT業界に興味を持つ人が増えてきていますが、一般的には「プログラマー」が日の目を浴びることが多いかと思います。
しかし、ソフトウェア開発において、他にも重要なポジションの仕事があります。
それが今回紹介する「テスト業務」です。
一般的なソフトウェア開発の流れとは?
ソフトウェア開発では、ただプログラミングをするだけでなく、多くの人が様々な専門性を発揮してアプリケーションが開発されます。
さらに、業界や会社、チームによって開発の手法は様々です。
今回はその中でも、一般的な開発の流れについて紹介します。
- アプリケーションがどのように動くのか、どのようなアプリケーションを作るかを決める
- デザインを作成する
- プログラミングをして実装する
- アプリケーションが正しく動いているか確認する
- リリースする
作るものを決める
まずは会社(チーム)として、どんなサービス、どんな機能を作るのかを決めます。
それなりのの規模の会社であれば、このフェーズを担当する専任の人がおり、顧客が求めているものを考えます。
作るものを設計する
作るものが決まったら、次に「どのように作るのか、実現するのか」を決めます。
主に開発を行うエンジニアの人たちが主体となり、どのようにプログラムを書いていくかなどを決めます。
設計したものを作成する
どのように作るのかが決まったら、いよいよ作成です。
ここが皆さんのイメージしている、「プログラムを書く」フェーズです。
一般的にはこのフェーズと、1個前の設計のフェーズを開発エンジニア(プログラマー)の人たちが担当します。
作ったものをテストする
サービス、アプリが作成されたら、次にテストを行います。
正しく動いているのか、「作るものを決める」で決めた通りのサービスになっているかの確認作業です。
ここのフェーズで行う業務が、今回紹介する「テスト業務」になります。
テストしたものをリリース(公開)する
テストが完了したら、いよいよリリースです。
なぜテストをするのか?
作ったものはそのまま完成ではありません。
人が作ったものにはミスがあり、それが不具合(バグ)として現れます。
例えば…。
とても大事なメールを送る際、自分でチェックもしますが、他の人にクロスチェックをお願いしたりします。
この「クロスチェック」こそが正にテスト業務と同様です。
自分で文章を見直した時には誤字脱字に気づかなかったけど、他人に見て貰ったらすぐに指摘された!なんて経験はないでしょうか。
似たような話で、エンジニアの方々は自分で実装しているものなので、不具合に気付きづらいというのも事実としてあります。
その不具合を世の中に出さないためにも、テスト業務は重要なのです。
不具合(バグ)があったらどうなるのか?
不具合が残っているままアプリが世の中に出たらどうなるのでしょうか。
例えば、医療系のアプリで不具合があったらどうでしょう?
患者さんの命の危険に直結するかもしれませんね。
自分が楽しんでいたゲームで、不具合が起因してデータが消えてしまったらどうでしょう?
もうその会社のサービスを使いたくない!時間を返せ!と思うユーザーもいるでしょう。
極端な例を紹介しましたが、不具合があることで会社が金銭的な損害、信頼を失うといった致命的な問題に発展することもあるのです。
テストによる品質保証
不具合による損害を防ぐためにも、「テスト」という業務を行って品質を守ります。
その業務を主とし、品質に責任を持つ人たちをQAエンジニア、テストエンジニア、テスター等と呼びます。
品質保証を担当としている人達は、様々な手法/技法/知見から品質を確認します。
テストを行うことで「不具合の検知」をすることはもちろん、仕様を正しく理解し、作られたサービスが期待通りに動作するかも確認します。
不具合が発見された場合には開発者に報告し、修正してもらった後に再度テストを行います。
正しく修正されていたら、「品質が1つ向上した」と言えるでしょう。
IT業界では職能別採用
IT業界では「職能別採用」が殆どのため、役割が明確です。
Webのエンジニアで採用された人は、「Web開発のスペシャリスト」、iOSエンジニアで採用された人は、「iOS開発のスペシャリスト」として期待されます。
逆にいうと、同じエンジニアでも「Webのエンジニアで採用された人はiOSのアプリを開発できるわけではない」ということです。
テスト業務でも同じことが言え、テスト担当者として採用される場合はプログラムが書けなくても問題ありません。
当然ですが、出来た方が良いことには変わりありませんし、一定のレベルより上に行く場合は求められるシーンも増えてきます。
具体的な仕事内容
具体的な仕事内容については、以下の記事を参照ください。
おわりに
テスト業務について紹介しました。
IT業界=プログラムを書く!というイメージされる方が多いですが、実はテストを専門としている人達もいるのです。
まだまだ知名度が低い職種にはなりますが、プログラマーと違い「プログラミング能力が必須ではない」のでIT未経験者が多いのも特徴です。
IT業界に興味はあるが、「プログラミングは合わなかった・・・」「プログラミングには興味がない・・・」みたいな方は1度検討してみるのも良いと思います。