ソフトウェアの品質を学びまくる2.0スマートフォン用の表示で見るソフトウェアの品質を学びまくる2.0ソフトウェアの品質、テストなどについて学んだことを記録するブログです。テスト設計・技法Tweet過去のエントリは以下にあります。この中で、あらためて調べたことなどをまとめておきます。捏造練習問題は、後日・・・。kzsuzuki.hatenablog.com2周目の補足事項テストオラクルって何者?先日twitter上で、「テストベースとテストオラクルの違いがわからん!」と発言しました。両方とも、テストケースの元ネタかのように思われたためです。その際にいただいたコメント含め、色々調べたので整理してみます。JSTQBにおける「テストベース」の定義(一部)は、コンポーネント要件やシステム要件を推測できる全てのドキュメント。これらのドキュメントがテストケースのベースとなるつまり、テストケースの元ネタです。次にJSTQBにおける「テストオラクル」の定義(一部)は、テスト対象のソフトウェアが実際に出力した結果と比較する期待結果を決定するためのソースつまり、テストケースと不可分のもの。並べてみると、テストベースはテストケースを作るときに使い、テストオラクルはテストケースを実行した後に使うということでしょうかね。具体的には、こういうことなのでは?と思っています。テストベースに書いてあること:「自然数xが偶数ならyにx+1を代入。奇数ならyにxを代入するという凄い機能です。(2)x=3の場合、y=3である」じゃあ、オラクルって、テストケースの「期待結果」に書いてあることとと同じじゃないかってことになりますが、明確に「y=3」と書かれる期待結果に対して、オラクルはそうとは限らない。ExcelのセルB1に、こういう数式を入力しておきましょう。=IF(MOD(A1,2),A1,A1+1)セルA1の値がx、セルB1の値がyにあたります。このExcelシートは、期待結果を教えてくれるテストオラクルです。A1に値を入力すれば、B1の結果が得られ、プログラムに期待される動きを教えてくれるからです。計算であればExcelでオラクルが作れますが、あるべき出力結果がドメインに依存するようなケースでは、そのドメインに精通した人の知識がオラクルになるでしょう。Kaner氏のページには、テストオラクルの面白い例が載っています。Officeの競合品としてOpenOfficeを開発しているとすると、OpenOfficeの「Writer」の動作が「正しいか」は、Microsoftの「Word」が教えてくれるという話です。Wordという競合品がそのままテストオラクルになるということですね。ちなみにこのページによると、Writerでは65,535文字でいっぱいになって、そこに文字列のペーストをするなどで無理やり溢れさせると、無言で落ちるそうです。Wordはメモリが許す限りがんばると。オラクルの定義には続きがあって、コードであってはならない。上の(1)(2)に似たステートメントがコード上にあっても、それはテストオラクルにはならない。コードが仕様とズレていても、気づくことができないから。テスト条件についてここでいう「条件」は、「条件網羅」の条件とは違います。「テスト対象」というのが近い。このテスト条件をどうテストするかというのが、2.4.1「テスト条件の識別」に含まれます。この作業に、FV表を適用することができるのでしょう。『ソフトウェアテスト技法ドリル』に説明があります。ここでいう「Fr(目的の機能)」「V(検証内容)」が、テスト条件に対応するものと思います。見るもう1つ、テスト設計で大事な作業テスト設計では、「何を」「どう」テストするかだけではなく、「どこで」テストするかも規定しておくことになります。「どこで」というのは、物理的な場所もそうですが、プログラムを動かす環境全般ですね。テスト環境は本番環境よりサーバのスペックが低かったり、2つのサーバを1つにまとめてしまったりすることもあります。テストでどんなツールを使うのか、テストに使うデータはダミーでいいのか本物に近いものを用意するのか、本物を使うなら、データの提供をいつお客様に相談するか・・・などなど、考えることはたくさんあります。これらは、技術的な問題というより、調整ごとの多い話ですね。「今頃言われても準備できないよ!」「え?そのツール使える人誰もいないけど・・」「もうテスト端末おくスペースないよ・・・」とか、「テストのメンバーを追加したせいで、IPアドレスが足りないんだけど・・・」(実際にありました)とかいう悲しい自体になりませんように・・・。「なぜ」テストするかについて検討するフェーズは規定されていないので、勝手にやりましょう。2.1~2.4Tweet関連記事2018-01-06機械学習の分野でも注目される、メタモルフィックテスティングとは何か。先日のJEITAのイベントで、メタモルフィックテスティング(Meta...2014-10-20探索的テストと他のテストを比べてみる。その2間が空いてしまいましたが、その2です。JSTQBシラバスのお勉強リスト・TABOK粗読による自動化の座学リストシステムテスト自動化標準ガイド通称・「ギア本」。いわゆるQAテストの自動化の概観を学ぶことができます。お手に取ってみてください。AdSenseを使用しています。AdSenseは、ユーザーの興味に応じた広告を配信するためにCookieを利用しデータを収集しています。Cookieを無効にする設定、およびGoogleアドセンスに関する詳細は、Googleのポリシーと規約をご覧ください。はてなブログをはじめよう!kz_suzukiさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。