今回はサイトリリーズ前のテストについて行っていきます。
前回同様社長に質問されて答えられなかった事シリーズになり、自分で勉強したこととなっています。
サマリー(概要)
テストとは、
テスト仕様書に基づいて行うもので、「ソフトウェアやIT製品、電子機器などが正常の動きをするかどうか」をみるものです。
テストの流れとしては、
「計画」「設計」「仕様書の作成」の順で構成が組まれ、実際のテストは構成に基づきテストしてジャッジを行い修正しまたテストしての確認の繰り返しとなります。
作成されるテスト仕様書は要件通りプログラムが作成されているかのテストポイントをまとめた文書資料となります。
仕様書には「テストの観点」が記載されておりプログラムの機能にはどんなものがあり、どんな動きをするかなどの確認内容することが出来ます。※大体各会社で決まっている。
ちなみにデバッグとは、
「プログラム内のバグを取り除く事」になります。
※デバッグの定義は職種によっても変わります。
大まかなテストの種類
単体テスト
単体テストとはプログラムのユニット(単位)が各々の機能を正しく果たしているかどうかを検証するテスト
各モジュールごと
ex:Facebookなどの「いいねボタン」を押したら反応するか。
結合テスト
結合テストとは複数の構成要素を同時に行って機能を果たしているかの動作テスト。
モジュールとモジュールを繋ぎ合わせ連携をみている。機能間のリレーション。
ex:ショッピングページのカートに入れるを押したらカートに入るか?
システムテスト
統合テストやシナリオとも呼ばれ、Webの環境でテストを行う。
色々なパターンで行っていく。
性能テスト、機能テスト、負荷テスト、セキュリティテスト、回帰テスト(リグレッションテスト)などがある。
回帰テスト
デグレとや先祖がえりといったバージョンアップに伴う品質低下やバージョンの管理不足によってアップデートされた追加機能が丸々無くなってしまう事が無いかを確認するテスト
排他処理
「商品購入時などで競合が発生する場合に、エラーを起こして他のプロセスが介入できないようにで整合性を保つ処理」
例えば飛行機で同じ座席を購入した際に、後の購入者にはエラーページを出力する事
受け入れテスト(UAT:User Acceptance Test)
要件どおりにできているかをシステムの発注者が実施するテスト
実際にプログラムを動かしてみる
発注者との共通認識を早めに持つため、計画自体は初期工程にて早めに行う。
誰が行うか?
テストエンジニアというエンジニアが行います。
テストエンジニアとはプログラムに不具合が無いかなどの単体テストや結合テストなどを行うエンジニアのことです。
QAエンジニアといってソフトウェアの品質保障を目的として完成したソフトウェアに対して品質テストを行うエンジニアも工程に参加します。
まとめ
今回はテストについてまとめてみました。
こういった言葉は聞いて事はあるだけだと、理解しているかが曖昧で言語化が出来ずに終わってしまいます。
実力をつけて行くためには、自分の言葉を使って説明していくことは必須だと思うので、
どんどんインプットしてアウトプットの場を増やして行きたいと思います。
最後までお読み頂きありがとうございました。
駆け出しエンジニア けいこ♂
コメント