• ベストアンサー

WEBシステムの単体テスト

WEBシステムの単体テストを詳細設計書を見ながらしています。 入力画面、一覧画面、帳票等に対して、 PCL(プログラムチェックリスト、デシジョンテーブル) の書き方がわかりません。 ご経験のある方、アドバイスいただけますか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

>単体テストのブラックボックステスト版 >のやり方を知りたいのです。説明が不足しましてすみません。 単体テストのブラックボックスにしてもクラス単位/メソッドで 入出力の値をリストアップするところから始める作業からだと思うよ。 >WEBシステム このシステムがどの言語で開発されているかは知らないけど その言語には >PCL(プログラムチェックリスト、デシジョンテーブル) の書き方がわかりません。 まずは引数として渡していい許容値と違反値があるよね? それを洗い出す。 それが終わったら書く言語で用意されている単体テストのツールとなる JavaならJUnit。PHPならPHPUnit。などを書く言語に用入れた物を使ってテストする。

tusfbn
質問者

お礼

詳しい、また、丁寧なご回答ありがとうがざいます。 まだ、ソースコードを見る環境をさわらせてもらえないので、 詳細設計書を見ながら、できるかぎりやってみます。 JUnit等のツールをすぐに使えるように試しておきます。

その他の回答 (1)

回答No.1

>入力画面、一覧画面、帳票等に対して、 これどう見ても総合テストであって単体テストではないよね。 単体テストの意味理解している?

tusfbn
質問者

補足

ご意見ありがとうございます。 そうなんです。おっしゃていることはわかります。 外注したシステムを受け入れ、総合テスト、結合テストをします。 しかし、バグが多いため、社内SEだけで単体テストをするように 上司から指示がありました。 開発者が開発環境を使用して単体テストをするのが一般的だと思われますが、 しかし、開発環境がない状態で、各種仕様書とWEBシステムのプログラムのみで、 単体テストをしなければなりません。 開発環境を自分用に用意することになったとしても、プログラムを解読するのではなく、 単体テストをして欲しいと指示されました。なので、単体テストのブラックボックステスト版 のやり方を知りたいのです。説明が不足しましてすみません。

関連するQ&A

  • 単体テストのテストケースの考え方(あげかた)について

    単体テストのテストケースの考え方(あげかた)について 最近、プログラム(java)をはじめたものです。 単体テストを行ううえで、 まず、テスト仕様書の作成を行う(正確にいえば詳細設計段階でやりますが…)と思いますが、 そのテストケースのあげかたはどういう着眼点であげればよいのでしょうか? 単体テストは、詳細設計に対してのテストだと思いますので、 基本的には、詳細設計で作成いたフローチャートの分岐をすべてのケース通るような仕様書を作成しています。 ただ、このやり方だと、問題があるような気がするのです。 たとえば、javaでMapを使用していて、 入力値が、値が固定のMap(例:1,2,3)に入っていればtrue、入っていなければfalseという処理があるとき、 フローチャートでは、trueかfalseかの2パターンしかなく、 実際のコードの記述もget(入力値)で、あるかないかだけ判断するため、2パターンです。 しかし、実際は、固定Mapの値1,2,3,とそれ以外という選択肢があるとおもうのですが、 こういう場合は、1、2、3、それ以外の4パターンのテストを行うべきでしょうか? それとも、Mapにあるかないかだけの部分なので、trueの時とfalseの時の2パターンでいいのでしょうか?

  • 単体テストについて

    システム開発を行う際に、単体テストというものを 行うらしいですね。(勉強している身です。) Webで情報を探すと、単体テストの重要性や テストがいい加減になってきてる等の情報が数多くあり、 思うように欲しい情報が見つかりません。 単体テストを行うに当たって、何が必要ですか? 例えばソースコード。 必要なものと、何に使うかもご教授いただければ幸いです。

  • web系システムのテストについて

    web系システムにおけるテストについてですが、 一般的には単体テスト、結合テスト、システムテストなどありますが、 web系の場合、どこまでが単体でどこまでが結合でといった境界 がはっきりしません。 たとえば、サーバサイドのjavaの場合、JSP、javaScript、HTML、java など複数の要素が含まれており、なにをもって単体と呼ぶかがわか らず、strutsなどのフレームワークを利用した場合はさらに MVCと機能が分離するためさらにテストが複雑です。 テストフェーズ別の具体的な成果物や、テスト項目、 テスト内容などをご教授いただけないでしょうか。 よろしくおねがいします。

  •   単体テストを自分でも組めるのか?

      単体テストを自分でも組めるのか? C++でOOPに挑戦しているんですが、CppUnit?とか全くわからないのですが 単体テストの概念は分かるのです。 自分はC++の経験が浅く使いこなすようになったばかりの新参者なんです。 この状態で単体テストというものを用いてプログラムを組むことは可能なんでしょうか? もしくは開発効率は上がるんでしょうか?

  • システム開発を行う上での

    システム開発を行う上での FP法での見積もりに対する各工程の所要日数について お伺いさせて頂きます。 Aシステム : 120FP 生産性  : 7.5時間 / FP 月間標準時間 : 150時間(1人月) (1日は7.5時間、月間は20日とする。) 作業要員:2名 システム開発の工程及び工程別工数配分率 要件定義: 50% 内部設計: 20% 詳細設計: 35% プログラム設計 : 50% コーディング : 30% 単体テスト : 20% システムテスト :20% 上記内容で詳細設計の プログラム設計、コーディング、単体テストの 所要日数を算出したいのですが以下の計算で認識は合っておりますでしょうか? 120FP × 35%(詳細設計) = 42FP(42人日) 42FP × 50%(プログラム設計) = 21FP(21人日) 42FP × 30%(コーディング) = 12.6(12.6人日) 42FP × 30%(単体テスト) = 8.4(8.4人日) プログラム設計の所要日程⇒ 21人日÷2人 = 10.5日 コーディングの所要日程⇒ 12.6人日÷2人 = 6.3日 単体テストの所要日程⇒ 8.4人日÷2人 = 4.2日 以上。 宜しくお願い申し上げます。

  • 【C言語】単体テストのイメージが全くつかない

    閲覧ありがとうございます。 C言語での改修案件に携わっているのですが、当方C言語も開発も経験のないものでして、単体テストについてお伺いしたいです。 システムBの単体テストをしたいとします。 システムBは、別サーバにあるシステムAからソケット通信で電文を受け取り、同サーバにあるシステムCにメッセージキューで電文を送ります。 また逆に、システムCからメッセージキューで電文を受け取り、システムAにソケット通信で電文を送ることもあります。 基本的にデータの中継を担うシステムです。 このとき、一体システムBの単体テストはどのような項目をやるのが正しいのでしょうか? (※CUnit等は使えません) JavaはJUnitを使っての単体テストの学習はしたことがあるのですが、C言語での単体テストの項目もやり方も全く想像がつきません。 私にPGの才能がないことは重々承知しておりますので、出来れば分かりやすくお教えいただければ幸いです。 よろしくお願いいたします。

  • システムテストの効果的な方法

    30代男で、システム開発をしています。 今まで、プログラミング行程を中心にやってきたのですが、現在人手不足のため、設計からシステムテストも行うことが多くなってきています。 単体テストも大変な作業ですが、システムテストも別の意味で大変な作業ということを実感しています。システムの業務的な知識が必要であるため、いろいろなことを限られた時間で学ぶ必要があります。どのようなテストをすればいいのか、想像を働かせる必要があります。 あまり、時間的な余裕がないので、無理な相談と思いますが、効率的な方法な方法はないものでしょうか。 単体テストでは、JUnitやテスト自動化などの手法が考えられますが、システムテストでは簡単にいかないような気がします。

  • テストフェーズで何をするか

    SI企業で勤めております。 恥ずかしい話ですが、開発の経験が少なく、 各テストフェーズでどういった観点のテストをするのか、 あまりわかっていません。 単体テストは、モジュール内の分岐やエラーハンドリングなど 網羅的に確認するとしてイメージがあります。 これ以外にも、 1.結合テスト 2.機能テスト 3.システムテスト など今まで耳にしました。 それぞれのテストでは、一般的にはこれをする、など 考え方や手法はあるのでしょうか?。 例えば以下のようなテストは、 どのテストでやれば良いのでしょうか?。 ・Webアプリでの画面遷移(ログインして一覧画面から、選択し更新~完了画面の表示) ・夜間バッチの正常終了(バッチは、ジョブスケジューラから起動) (ざっくりですみません、、) 「画面遷移」というのは、システム側(開発者側)から見た用語ですが、その画面遷移の 提供機能である、例えば「在庫参照」、「受注登録」は、ユーザから見た「機能」だと思います。 テストとしては、両方の観点でテストフェーズを設けるものでしょうか・・?。 アドバイスを頂ければ幸いです。

  • システム連絡表とは?

    システム開発は、下記のように流れると聞いたことがあるのですが、 「システム連絡表」とは、何を意味するのでしょうか? 概要設計書 要件定義書 データベース定義書 基本設計書 基本仕様書 詳細設計書 詳細仕様書 単体テスト仕様書 単体テスト報告書 結合テスト仕様書 結合テスト報告書 総合テスト仕様書 総合テスト報告書 バグ報告書 プロジェクト会議議事録 チーム打ち合わせ議事録 システム連絡表 開発スケジュール予定 開発スケジュール実績 テストスケジュール予定 テストスケジュール実績 進捗報告書

  • 単体テスト、結合テスト、テスト仕様はどこまで詰め込む?

    今、テスト仕様書を作成しており、 みなさまのご意見が伺えたらと思って書き込みさせていただきました。 単体テスト、結合テストの仕様書を作っているのですが、 パターン数がやはりべらぼうに多いので、どこまでで 割り切るかで悩んでいます。 考えれば考えるほどパターン数は出てくるのですが、 それらを作る工数、テストする工数を考えると、 う~ん・・・という感じです。 100%バグのないシステムを作ることは不可能で、 そのコストは∞とされていますが、可能な限りそうしたいのは やまやまですが。 ある本には顧客が70%を望んでいるなら開発としては71%を達成できたらよく、それ以上を求めることは技術者のエゴと書いてありました。 確かにまずされない操作のテストパターンを大量に生成する時間があったら、クライアントはユーザビリティを上げるなどして欲しいはずです。 でも70%ってどうやって決めたらいいのでしょう? 何でもいいので皆さんどうされているか、アドバイスいただけたら幸いです。

専門家に質問してみよう