「開発された業務システムが正しく動作するか不安」
「単体テストや結合テスト、V字モデルについて知りたい」
ONETECHはベトナムオフショア開発で様々な業務システム(システム開発、アプリ開発、ソフトウェア開発)を開発しています。オフショア開発とは日本企業のシステム開発、アプリ開発、ソフトウェア開発を海外に外注(アウトソーシング)することによりコスト削減やシステム開発リソースの確保を行うことです。
今回は12回に分けて業務システム開発について整理しています。特に大切なシステムテスト工程について書いていきます。
開発会社では開発したシステムの動作を確認するために3種類のテストを実施します。さまざまなテストによりバグの有無を確認でき、不具合のないシステムを導入できるのがメリット。またシステムの開発工程においてVという字の形のように上流工程とシステムテストを行うV字モデルが基本です。
この記事では業務システムの開発を検討する人に向けて、システムをテストのV字モデルと3つの方法を解説します。
システム開発のシステムテストはV字モデルが基本
システム開発の4種類の開発手法でウォーターフォールモデルについて学びました。次にシステム開発工程では、実際にプログラムを作るまでは「要件定義(基本計画)」→「外部設計(基本設計)」→「内部設計」→「コーディング(プログラミング)」ということを書きました。
システム開発工程とシステムテスト工程は、以下のようにV字型の関係になっています。プログラミングの内容は単体テスト、内部設計・外部設計は結合テスト、要件定義の内容は総合テストでテスト検証します。これをV字モデルと呼びます。
システム開発ではV字モデルの原則を守ることが重要となります。
システム開発では3種類のテストが必要
開発者が制作したシステムには不具合が残っている可能性があります。不具合を放置したままシステムを導入してしまうと、生産性が低下したりトラブルが発生したりするリスクがあるもの。
バグや不具合のない業務システムを導入するには、さまざまなテストを実施することが重要です。ほとんどの開発会社では以下にある3つのテストによりシステムを検証します。
- 単体テスト
- 結合テスト
- 総合テスト
それぞれのテスト方法について詳しく見てみましょう。
単体テストとは
単体テストでは開発したシステムを機能ごとに検証。プログラミングが完了してから一番最初に行われるテストであり、関数またはメンバー関数単位で不具合を分析するのが一般的です。
システムを組み合わせる前に動作させる必要があるため、開発者が開発環境でシステムを検証します。動作を検証するために開発者が必要なデータを手作業で作る場合もあること。
内部設計で定めた定義通りにシステムが動作することで、単体テストによる検証を完了できます。
結合テストとは
結合テストではシステムにおける複数の機能を組み合わせて動作を検証。サブシステム内部の機能を統合する内部統合テストと、各サブシステムの機能を統合する外部統合テストの2種類あります。
結合テストでは送信側にデータを作成させて、受信側の入力データを用意したうえで動作を検証するパターンが多いです。外部設計で定義した条件を満たすことで結合テストは完了します。
総合テストとは
システムにおける機能をすべて結合して、本番と似た環境でシステムを検証するのが総合テスト。開発したシステムを全体的に検証するため「システムテスト」と呼ばれることがあります。
発注者の要求を満たした業務システムを開発できているか確認するのが総合テストの目的。プロジェクトの最初に作成された要件定義書を参考に、機能要件や非機能要件の不具合を検証するのが一般的です。
一部の開発会社では発注者の環境で正常に動作するか確認するために、総合テストの後に受け入れテストを実施する場合があります。
より良い業務システムを導入するには
開発会社が実施する3種類のテストにより、不具合がない業務システムを導入することは可能です。ただ、利用方法や環境によってシステムが使いにくくなるリスクがあります。
より良い業務システムを社内に導入するためには、発注者は「テスト結果報告書」と「システムテスト」を重視しましょう。それぞれの要素について簡単に解説します。
テスト結果報告書を細かくチェック
開発会社により業務システムのテストが完了すると、発注者はテスト結果報告書を受け取れます。報告書には不具合の修正状況や対策などが記載されてあり、システムの状態を確認することが可能です。
既存の不具合が残っていないか確認するために、発注者はテスト結果報告書を細かくチェックしましょう。
入念にシステムテストを実施
成果物として完成したシステムを外部にテストしてもらうことで、今まで表れなかった不具合が出てくる場合があります。システムの開発でバグを防ぐためには、入念にシステムテストすることがオススメです。
まとめ
開発者が制作したシステムは3種類のテストにより不具合を検出でき、導入前にバグを修正できます。単体テストや結合テスト、総合テストによりシステムの動作を検証できることを知っておきましょう。
ONETECHでは、ベトナムでオフショア開発をしております。どのような目的でどこまでテストをするかをお客様によって明確にしております。特に最近力を入れているのが非機能要件のテストです。これは総合テストの範疇です。セキュリティ(脆弱性)テスト、パフォーマンス(性能)テストもお客様にヒヤリングしてどこまでの非機能要件が必要かを話し合いの上決めてシステムテストしております。
ONETECHはベトナムオフショア開発で様々なシステム開発、アプリ開発をしています。あらためて12回にわたりベトナムオフショア開発特有のことではなく、システム開発していく上での基本的な知識についてブログに寄稿していきます。
1)DX推進の鍵!!業務を効率化するシステムとは何か?導入するメリットや実際の事例
2)システム開発、アプリ開発、ソフトウェア開発の要件定義で大切なこととは
3) システム開発、ソフトウェア開発の提案依頼書(RFP)・要求定義・要件定義の違いとは
4)業務システム開発で使われるプログラミング言語・スクリプト言語とは?人気の高い言語の特徴
5)システム開発の「ウォーターフォール」「プロトタイプ」「アジャイル」「スパイラル」4種類の開発手法とは?
6)システムの開発工程「要件定義からコーディング、システムテスト、保守運用まで」
7)システム開発やアプリ開発の見積もり方法を知る。「ボトムアップ」「パラメトリック」とは?
8) システム開発の外部設計と内部設計とシステム設計書
9)システム開発の単体テストと結合テストとV字モデルとは?
10)システム開発のシステムテストと受入テスト、運用テストとは?テストの流れと注意点
11)システム開発のリリースとリリース後の運用保守とは?
12)発注者が知っておくべきシステム開発の略語「CRMとは?」「RDは要件定義!?」
ONETECH ベトナムオフショア開発
ONETECHは2013年よりベトナムホーチミンでベトナムオフショア開発会社としてスタートしました。毎年多くのお客様から発注をいただき50社以上のお客様とお取引をしております。
100%日本語対応 ベトナムオフショア開発
ベトナムオフショア開発の10年以上の経験のある経営者やマネージャー、ブリッジSEが100%日本語で対応いたします。
ウォーターフォール型の受託開発はもちろんベトナムオフショア でお客様の専属チームを組織することも可能です。
ベトナムオフショア開発ですが日本側にコンサルタントを配置
また日本法人にも日本人とベトナム人のシステムコンサルタントがおりますので上流からのサポートも承っております。また短期出張でエンジニアが貴社にお邪魔してオンサイトで対応することも可能です。
またテストをベトナムオフショア で実施したいというニーズにもお応えしております。
ベトナムオフショア開発の特徴
ベトナムオフショア の特徴として、ベトナム人は非常に勤勉でとくにITスキルの高い人材が多く、親日国家でもあります。また平均年齢が28歳と若く中長期的にベトナムオフショア のベンダーとして長く利用できるというメリットもあります。中国やインドと比べると人件費も安くコストメリットもベトナムオフショア開発の重要なアドバンテージとなっております。
ベトナムオフショア開発を試してみませんか
ベトナムオフショア 開発をまずは試してみませんか。お試しで数週間のプロジェクトからでも承っております。営業がベトナムオフショア 開発の様々な疑問にお応えいたしますのでお気軽にご相談ください。