(57)【要約】本開示は、製品またはサービスの障害を識別するシステム及び方法に関する。プロセッサは、障害を識別する特徴付けデータを含む要求を受信する。次いで、プロセッサは、複数のテスタ識別子の各々と関連付けられた能力データに基づいて、及び特徴付けデータに基づいて、複数のテスタ識別子を選択して、チーム記録を生成する。その後、プロセッサは、チーム記録の複数のテスタ識別子の各々と関連付けられたユーザインタフェースを生成する。ユーザインタフェースは、テスタが障害記述を提供することを可能にするユーザ制御要素を含む。このユーザインタフェースを通じて、プロセッサは、各々が障害記述を含み、チーム記録の複数のテスタ識別子のうちの１つと関連付けられた複数の障害記録を受信する。最後に、プロセッサは、製品またはサービスと関連付けられた複数の障害記録の各々、及び関連付けられたテスタ識別子をデータストアに記憶する。【選択図】図１３
2017514241.tif 000002
【特許請求の範囲】
【請求項１】
製品またはサービスの障害を識別するコンピュータ実行方法であって、
前記方法は、
前記製品またはサービスの障害を識別する要求を受信することであって、前記要求は、前記要求を特徴付ける特徴付けデータを含む、ことと、
複数のテスタ識別子の各々と関連付けられた能力データに基づいて、及び前記特徴付けデータに基づいて、前記複数のテスタ識別子を選択して、チーム記録を生成することであって、各テスタ識別子は、テスタと関連付けられる、ことと、
前記チーム記録の前記複数のテスタ識別子の各々と関連付けられたユーザインタフェースを生成することであって、前記ユーザインタフェースは、テスタが障害記述を提供することを可能にするユーザ制御要素を含む、ことと、
前記ユーザインタフェースを通じて複数の障害記録を受信することであって、前記複数の障害記録の各々は、前記障害記述を含み、及び前記チーム記録の前記複数のテスタ識別子のうちの１つと関連付けられる、ことと、
前記製品またはサービスと関連付けられた前記複数の障害記録の各々、及び前記関連付けられたテスタ識別子をデータストアに記憶することと、
を備えた、前記コンピュータ実行方法。
【請求項２】
前記製品またはサービスは、
ソースコード、
財務報告、
技術仕様、
ユーザインタフェース、
ソフトウェアアプリケーション、及び
食品
のうちの１つまたは複数である、請求項１に記載の方法。
【請求項３】
そのテスタ識別子と関連付けられた前記複数の障害記録に基づいて、前記複数のテスタ識別子の各々と関連付けられた金銭的報酬を示す金銭的価値を判定することをさらに備える、請求項１または２に記載の方法。
【請求項４】
前記複数の障害記録を受信することは、前記複数の障害記録の各々と関連付けられた障害分類を受信することと、前記金銭的価値が前記障害分類に基づいていると判定することとを含む、請求項３に記載の方法。
【請求項５】
前記特徴付けデータは、前記製品をテストし、前記金銭的価値が利用可能な全資金に基づいていると判定するために前記利用可能な全資金の指示を含む、請求項１〜４のいずれか一項に記載の方法。
【請求項６】
各々の識別された障害の金銭的価値を示す入力データを受信することをさらに備え、
前記複数のテスタ識別子の各々と関連付けられた金銭的報酬を示す前記金銭的価値を判定することは、各々の識別された障害の前記金銭的価値に基づいて、前記複数のテスタ識別子の各々と関連付けられた金銭的報酬を示す前記金銭的価値を判定することを含む、請求項１〜５のいずれか一項に記載の方法。
【請求項７】
前記複数のテスタ識別子のうちのその１つと関連付けられた前記障害記録に基づいて、前記複数のテスタ識別子のうちの１つと関連付けられた前記能力データを更新することをさらに備える、請求項１〜６のいずれか一項に記載の方法。
【請求項８】
前記複数のテスタ識別子の各々と関連付けられたユーザインタフェースを生成することであって、前記ユーザインタフェースは、テスタが評価製品の障害記述を提供することを可能にするユーザ制御要素を含む、ことと、
前記障害記述を、前記評価製品と関連付けられた、データストアに記憶された障害データと比較することによって前記能力データを判定することと
をさらに備える、請求項１〜７のいずれか一項に記載の方法。
【請求項９】
前記複数の障害記録の各々を受信することは、その障害記録を視覚化する映像データを受信することを含む、請求項１〜８のいずれか一項に記載の方法。
【請求項１０】
前記複数の障害記録の各々を受信することは、その障害記録を記述した音声データを受信することを含む、請求項１〜９のいずれか一項に記載の方法。
【請求項１１】
複数のテスタ識別子と関連付けられた前記能力データのグラフィカルな指示を含むユーザインタフェースを生成することをさらに備える、請求項１〜１０のいずれか一項に記載の方法。
【請求項１２】
前記能力データの前記グラフィカルな指示は、前記複数のテスタ識別子のうちの１つに関連して位置し、及び障害を識別する際にそのテスタによる成果を示すアイコンを含む、請求項１１に記載の方法。
【請求項１３】
前記特徴付けデータは、能力閾値の指示を含み、前記複数のテスタ識別子を選択することは、前記複数のテスタ識別子と関連付けられた前記能力データが前記パフォーマンス閾値以上であるように前記複数のテスタ識別子を選択することを含む、請求項１〜１２のいずれか一項に記載の方法。
【請求項１４】
前記要求を受信することは、障害を識別する期間を示し、及び障害を識別する全資金を示す入力データを受信することを含む、請求項１〜１３のいずれか一項に記載の方法。
【請求項１５】
セキュアプロキシサーバを動作させることをさらに備え、前記要求を受信することは、前記セキュアプロキシサーバを通じて前記要求を受信することを含み、前記複数の障害記録を受信することは、前記セキュアプロキシサーバを通じて前記複数の障害記録を受信することを含む、請求項１〜１４のいずれか一項に記載の方法。
【請求項１６】
複数のテスタを選択することは、前記特徴付けデータに基づいてパフォーマンス閾値を下回る能力データと関連付けられたテスタ識別子を前記チーム記録にランダムに追加することを含む、請求項１〜１５のいずれか一項に記載の方法。
【請求項１７】
コンピュータによって実行されるとき、コンピュータに請求項１〜１６のいずれか一項に記載の方法を実行させる、ソフトウェア。
【請求項１８】
製品またはサービスの障害を識別するコンピュータシステムであって、
入力ポートと、
プロセッサであって、
前記入力ポートを使用して、前記製品またはサービスの障害を識別する要求を受信し、前記要求は、前記要求を特徴付ける特徴付けデータを含み、
複数のテスタ識別子の各々と関連付けられた能力データに基づいて、及び前記特徴付けデータに基づいて、前記複数のテスタ識別子を選択して、チーム記録を生成し、各テスタ識別子は、テスタと関連付けられ、
前記チーム記録の前記複数のテスタ識別子の各々と関連付けられたユーザインタフェースを生成し、前記ユーザインタフェースは、テスタが障害記述を提供することを可能にするユーザ制御要素を含み、
前記ユーザインタフェースを通じて前記入力ポートを使用して、複数の障害記録を受信し、前記複数の障害記録の各々は、前記障害記述を含み、及び前記チーム記録の前記複数のテスタ識別子のうちの１つと関連付けられる、
前記プロセッサと、
前記製品またはサービスと関連付けられた前記複数の障害記録の各々、及び前記関連付けられたテスタ識別子を記憶するデータストアと
を備えた、前記コンピュータシステム。
【請求項１９】
製品またはサービスの障害を報告するコンピュータ実行方法であって、
前記方法は、
製品またはサービスとのテスタの対話を表す映像データのストリームを受信することと、
前記映像データのストリームをデータストアに記録することと、
ユーザインタフェースを前記テスタに表示することであって、前記ユーザインタフェースは、前記テスタが障害記述を提供することを可能にする第１のユーザ制御要素、及び前記テスタが前記記憶された映像データのセグメントの開始時間を設定し、それによって前記テスタが前記障害を識別する間、前記セグメントが前記製品またはサービスとの前記テスタの対話を表すことを可能にする第２のユーザ制御要素を含む、ことと、
前記ユーザインタフェースを通じて前記障害記述及び前記開始時間を受信することと、
前記製品またはサービスと関連付けられ、及び前記テスタ識別子と関連付けられた前記障害記述及び前記開始時間をテストサーバに送信することと
を備えた、前記コンピュータ実行方法。
【請求項２０】
前記映像データのストリームを受信することは、別個のコンピュータデバイスから前記映像データのストリームを受信することを含む、請求項１９に記載の方法。
【請求項２１】
前記映像データのストリームを受信することは、一連の複製されたスクリーン画像を前記映像データのストリームとして受信することを含む、請求項１９または２０に記載の方法。
【請求項２２】
前記映像データのストリームを受信することは、ＷｉｆｉまたはＢｌｕｅｔｏｏｔｈ（登録商標）データ接続上で前記映像データのストリームを受信することを含む、請求項１９から２１のいずれか一項に記載の方法。
【請求項２３】
前記テスタが前記製品またはサービスの障害を識別したことの通知を受信し、前記通知を受信すると、前記障害記述及び前記開始時間が受信されるまで、前記データストアへの前記映像データのストリームの前記記録を停止することをさらに備える、請求項１９から２２のいずれか一項に記載の方法。
【請求項２４】
前記ユーザインタフェースは、前記製品またはサービス内の前記障害の位置の表示をさらに含む、請求項１９から２３のいずれか一項に記載の方法。
【請求項２５】
コンピュータによって実行されるとき、コンピュータに請求項１９から２４のいずれか一項に記載の方法を実行させる、ソフトウェア。
【請求項２６】
製品またはサービスの障害を識別するコンピュータネットワークであって、
前記製品またはサービスをテストする第１のコンピュータシステムであって、前記第１のコンピュータシステムは、前記第１のコンピュータシステムの複製されたスクリーンを表す映像データを送信する出力ポートを含む、前記第１のコンピュータシステムと、
第２のコンピュータシステムであって、
前記第１のコンピュータシステムから、前記製品またはサービスとのテスタの対話を表す映像データのストリームを受信する第１の入力ポートと、
前記映像データのストリームを記録するデータストアと、
ユーザインタフェースを前記テスタに表示するディスプレイ装置であって、前記ユーザインタフェースは、前記テスタが障害記述を提供することを可能にする第１のユーザ制御要素、及び前記テスタが前記記録された映像データのセグメントの開始時間を設定し、それによって前記テスタが前記障害を識別する間、前記セグメントが前記製品またはサービスとの前記テスタの対話を表すことを可能にする第２のユーザ制御要素を含む、前記ディスプレイ装置と
前記ユーザインタフェースを通じて、前記障害記述及び前記開始時間を受信する第２の入力ポートと、
前記製品またはサービスと関連付けられ、及び前記テスタ識別子と関連付けられた前記障害記述及び前記開始時間をテストサーバに送信する出力ポートと
を含む、前記第２のコンピュータシステムと、
を備えた、前記コンピュータネットワーク。
【請求項２７】
製品またはサービスの障害を識別する結果を示す評価値を判定する方法であって、
複数の障害分類ごとに識別された障害の数を示す第１の入力データを受信することと、
前記複数の障害分類の各々の障害を識別しない第１のコストを示す第２の入力データを受信することと、
前記製品またはサービスの前記障害を識別する第２の全コストを示す第３の入力データを受信することと、
前記障害の数と乗算された前記第１のコストと前記第２のコストとの間の比率を示す出力値を判定することと、
前記出力値の指示を含むユーザインタフェースを生成することと
を備えた、前記方法。
【請求項２８】
コンピュータによって実行されるとき、コンピュータに請求項２７に記載の方法を実行させる、ソフトウェア。
【請求項２９】
製品またはサービスの障害を識別する結果を示す評価値を判定するコンピュータシステムであって、
入力ポートであって、
複数の障害分類ごとに識別された障害の数を示す第１の入力データと、
前記複数の障害分類の各々の障害を識別しない第１のコストを示す第２の入力データと、
前記製品またはサービスの前記障害を識別する第２の全コストを示す第３の入力データと
を受信する、
前記入力ポートと、
プロセッサであって、
前記障害の数と乗算された前記第１のコストと前記第２のコストとの間の比率を示す出力値を判定し、
前記出力値の指示を含むユーザインタフェースを生成する、
前記プロセッサと
を備えた、前記コンピュータシステム。
【請求項３０】
結果を特定するコンピュータ実行方法であって、
前記方法は、結果を特定する要求を受信することであって、前記要求は、前記要求を特徴付ける特徴付けデータを含む、ことと、
複数のサーチャ識別子の各々と関連付けられた能力データに基づいて、及び前記特徴付けデータに基づいて、前記複数のサーチャ識別子を選択して、チーム記録を生成することであって、各サーチャ識別子は、サーチャと関連付けられる、ことと、
前記チーム記録の前記複数のサーチャ識別子の各々と関連付けられたユーザインタフェースを生成することであって、前記ユーザインタフェースは、サーチャが結果記述を提供することを可能にするユーザ制御要素を含む、ことと、
前記ユーザインタフェースを通じて複数の結果記録を受信することであって、前記複数の結果記録の各々は、前記結果記述を含み、及び前記チーム記録の前記複数のサーチャ識別子のうちの１つと関連付けられる、ことと、
前記複数の結果記録の各々及び前記関連付けられたサーチャ識別子をデータストアに記憶することと
を備えた、前記コンピュータ実行方法。
【請求項３１】
コンピュータによって実行されるとき、前記コンピュータに請求項３０に記載の方法を実行させる、ソフトウェア。
【請求項３２】
結果を特定するコンピュータシステムであって、
入力ポートと、
プロセッサであって、
前記入力ポートを使用して、結果を特定する要求を受信し、前記要求は、前記要求を特徴付ける特徴付けデータを含み、
複数のサーチャ識別子の各々と関連付けられた能力データに基づいて、及び前記特徴付けデータに基づいて、前記複数のサーチャ識別子を選択して、チーム記録を生成し、各々のサーチャ識別子はサーチャと関連付けられ、
前記チーム記録の前記複数のサーチャ識別子の各々と関連付けられたユーザインタフェースを生成し、前記ユーザインタフェースは、サーチャが結果記述を提供することを可能にするユーザ制御要素を含み、
前記ユーザインタフェースを通じて前記入力ポートを使用して、複数の結果記録を受信し、前記複数の結果記録の各々は、前記結果記述を含み、及び前記チーム記録の前記複数のサーチャ識別子のうちの１つと関連付けられる、
前記プロセッサと、
前記複数の結果記録の各々及び前記関連付けられたサーチャ識別子を記憶するデータストアと
を備えた、前記コンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、製品またはサービスの障害を識別するシステム及び方法に関する。
【背景技術】
【０００２】
現代社会では、様々なタスク及び毎日の仕事を行うために電子機器及びソフトウェアプログラムをますますあてにしている。先進国におけるほとんどの個人は、この目的のために少なくとも１つの電子機器を所有しており、多くの家庭では、パーソナルコンピュータ及び携帯電話などの２つ以上のデバイスを所有する。
【０００３】
そのような様々なタスクを行うために、ほとんどのコンピュータデバイスは、様々なソフトウェアプログラムを含み、及びソフトウェアプログラムを実行するように構成されている。コンピュータソフトウェアは一般的に、大規模な多国籍企業から小規模な独立起業に雇用されていることがあるプログラマ及びソフトウェアデザイナ、または特定のソフトウェアコードもしくは言語に精通した個人によって開発される。ソフトウェアアプリケーションが開発される方式に関わらず、ソフトウェアアプリケーションを開発する重要な段階は、公衆による使用のために、ソフトウェアアプリケーションのリリースの前にソフトウェア内に存在する任意の障害または誤りが識別または訂正されることを保証することである。よって、プログラマ及びソフトウェアデベロッパは、１つまたは複数のタスクを実行するためのソフトウェアを開発及び設計するだけでなく、ソフトウェアプログラム内のいかなる障害または誤りをも識別し、そのような誤りを修正するスキルを有することが重要であることが多く、ソフトウェアがその意図したタスクを実行し、またはセキュリティの脅威を引き起こすことを防ぎ得る。
【０００４】
多くの大規模企業では、障害、誤り、またはユーザビリティの問題に対してソフトウェアを「デバッキング」またはレビューするタスクは、このタスクを行うことに集中したテスタ、デザイナ、製品エキスパート、及び／またはプログラマの専門チームによって行われることがある。また、多くの小規模企業または個人がソフトウェアをリリースする前に採用するこ場合がある、この仕事を行うために特別に設立された企業が存在する。このサービスを供給し得る特定の方式に関わらず、最良の個人が採用されることを保証するためにこのタスクを行うことに関与する個人の特定のスキルセットをレビュー及び分析することに関して透明性が全体的に欠けている。さらに、ソフトウェアのバグを識別及び解決するのに要求されるスキルが絶えず変わり、発展しているので、チーム環境内でデバッキングスキルを絶えず評価及びレビューする機会が制限されている。よって、タスクを行う個人の能力の分析の最新分析を提供するソフトウェアアプリケーションをテストすることに関与する個人のスキルセットを評価及び定量化するシステム及び方法を提供する必要性がある。
【０００５】
さらに、近年では、臨時労働力を有する企業または業種の概念は、特にソフトウェア開発及び設計に関連するタスクを行う才能の広いプールを生かすために個人／業種のための手段として普及している。しかしながら、臨時労働力がソフトウェア設計の一部の領域で成功しているが、多くの高度にスキルを身に着けた個人は、多数の個人が参加すること、及びそれらのサービスに対する重要な支払いを得る可能性が減少することにより、多数の参加者が賞品のプールからの報酬を競争することにより、そのような臨時労働力の取り決めに参加しないことがある。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
前の提案または製品の上記言及及び説明は、この分野における共通の一般的知識を述べることまたは受け入れることを意図しない、及びそう解釈されない。特に、上記従来技術の議論は、当業者によって一般的であり、または公知であるものに関連しないが、本発明の進歩性を理解するのに役立ち、その関連する従来技術の提案の識別は一部にすぎない。
【課題を解決するための手段】
【０００７】
製品またはサービスの障害を識別するコンピュータ実行方法であって、
前記製品またはサービスの障害を識別する要求を受信することであって、前記要求は、前記要求を特徴付ける特徴付けデータを含む、ことと、
複数のテスタ識別子の各々と関連付けられた能力データに基づいて、及び前記特徴付けデータに基づいて、前記複数のテスタ識別子を選択して、チーム記録を生成することであって、各テスタ識別子は、テスタと関連付けられる、ことと、
前記チーム記録の前記複数のテスタ識別子の各々と関連付けられたユーザインタフェースを生成することであって、前記ユーザインタフェースは、テスタが障害記述を提供することを可能にするユーザ制御要素を含む、ことと、
前記ユーザインタフェースを通じて複数の障害記録を受信することであって、前記複数の障害記録の各々は、前記障害記述を含み、及び前記チーム記録の前記複数のテスタ識別子のうちの１つと関連付けられる、ことと、
前記製品またはサービスと関連付けられた前記複数の障害記録の各々、及び前記関連付けられたテスタ識別子をデータストアに記憶することと
を備えた、コンピュータ実行方法。
【０００８】
チーム記録が要求の特徴付けに基づいて生成されるので、特定の要求に最も適したチームを構築することが可能である。
【０００９】
前記製品またはサービスは、
ソースコードと、
財務報告と、
技術仕様と、
ユーザインタフェースと、
ソフトウェアアプリケーションと、
食品
のうちの１つまたは複数であっても良い。
【００１０】
方法は、そのテスタ識別子と関連付けられた前記複数の障害記録に基づいて、前記複数のテスタ識別子の各々と関連付けられた金銭的報酬を示す金銭的価値を判定することをさらに備えても良い。テスタが識別したそれらの障害に対して正確に各テスタが報酬を受ける利点がある。
【００１１】
前記複数の障害記録を受信することは、前記複数の障害記録の各々と関連付けられた障害分類を受信することと、前記金銭的価値が前記障害分類に基づいていると判定することとを含んでも良い。異なる分類の障害が異なる金銭的価値につながることができ、結果として、テスタが、より高い金銭的報酬につながることができるさらなる重大な障害を優先させる動機付けとなる利点がある。
【００１２】
前記特徴付けデータは、前記製品をテストし、前記金銭的価値が利用可能な全資金に基づいていると判定するために前記利用可能な全資金の指示を含んでも良い。テスタが固定された価格プール、すなわち、利用可能な全資金に対して競争する利点がある。このように、製品のデベロッパに対するコストが管理され、及びテスタは、彼らは何人のテスタが、能力に応じて現金のプールを共有するかの、競争の対象となる全現金のプールの量を知ることを理由に、それらの予想収益がどの程度高いかを前もって把握する。
【００１３】
方法は、各々の識別された障害の金銭的価値を示す入力データを受信することをさらに備えても良く、
前記複数のテスタ識別子の各々と関連付けられた金銭的報酬を示す前記金銭的価値を判定することは、各々の識別された障害の前記金銭的価値に基づいて、前記複数のテスタ識別子の各々と関連付けられた金銭的報酬を示す前記金銭的価値を判定することを含む。
【００１４】
各々のテスタが、製品デベロッパの各々の障害の値に基づいて報酬を受ける利点がある。
【００１５】
方法は、前記複数のテスタ識別子のうちのその１つと関連付けられた前記障害記録に基づいて、前記複数のテスタ識別子のうちの１つと関連付けられた前記能力データを更新することをさらに備えても良い。
【００１６】
能力データが更新されるので、チーム選択は、各々のテスタの能力に関する現在かつ最新の情報に基づいている。結果として、テスタは、そのテスタがテスタの高評価スコアに基づいてエリートチームに選択される可能性がさらに高いので、後にその高い能力の利益を得て、それは、場合によってはさらに高い支払いの課題が考慮されることにつながる。
【００１７】
方法は、
前記複数のテスタ識別子の各々と関連付けられたユーザインタフェースを生成することであって、前記ユーザインタフェースは、テスタが評価製品の障害記述を提供することを可能にするユーザ制御要素を含むことと、
前記障害記述を、前記評価製品と関連付けられた、データストアに記憶された障害データと比較することによって前記能力データを判定することと
をさらに備えても良い。
【００１８】
テスタは、既知の障害を有する製品、すなわち、前記障害データがデータストアに記憶された評価製品に関して評価される。利点は、同一の製品に関して全てのテスタを評価することができ、結果が客観的であることである。クライアントは、テスタに問い合わせるために、事前に製造されたアプリケーションを使用しても良く、テスタは、少額の手数料を支払い、及び埋め込まれた誤りを有する事前に製造されたアプリケーションをテストしても良い。
【００１９】
前記複数の障害記録の各々を受信することは、その障害記録を視覚化する映像データを受信することを含んでも良い。障害の映像をより効率的に処理することができ、及びより早くかつより少ないリソースで障害を確定することができる利点がある。前記複数の障害記録の各々を受信することは、その障害記録を記述した音声データを受信することを含んでも良い。
【００２０】
方法は、複数のテスタ識別子と関連付けられた前記能力データのグラフィカルな指示を含むユーザインタフェースを生成することをさらに備えても良い。前記能力データの前記グラフィカルな指示は、それぞれの能力によって順序付けされたテスタのリストであっても良い。
【００２１】
最も能力のあるテスタとして顕著にリスト化されることになるそれらの能力を高めるようテスタが動機付けられる利点がある。テスタに対する経験は、ゲームを行うのと同様であり、それは、テストに参加することをより楽しめるものにし、及びテスタを満足させる。これは著しく、クライアントに対して製造される作品の品質及び量を高め、より品質の高い製品を市場に出すことを加速化させる。また、テスタが取り組むことを望むプロジェクト、及び彼らが働くことを望むときを彼らが選択することができるので、彼らはより権限を与えられたと感じ、さらにクライアントに対してより良好な生産物を製造する。
【００２２】
前記能力データの前記グラフィカルな指示は、前記複数のテスタ識別子のうちの１つに関連して位置し、及び障害を識別する際にそのテスタによる成果を示すアイコンを含んでも良い。成果は、予め定められた期間ごとの予め定められた数の識別された障害を含んでも良い。
【００２３】
前記特徴付けデータは、パフォーマンス閾値の指示を含んでも良く、前記複数のテスタ識別子を選択することは、前記複数のテスタ識別子と関連付けられた前記能力データが前記パフォーマンス閾値以上であるように前記複数のテスタ識別子を選択することを含んでも良い。
【００２４】
製品のデベロッパは、初心者（Ｎｅｗｂｉｅ）、冒険家（Ａｄｖｅｎｔｕｒｅｒ）、探検家（Ｅｘｐｌｏｒｅｒ）、及びエリート（Ｅｌｉｔｅ）などのテスタの最低標準を閾値として指定することができる利点がある。結果として、テストするサービスを、製品のデベロッパの必要性にさらに具体的に適合することができ、及びそれにしたがって製品のデベロッパのコストを調節することができる。
【００２５】
前記要求を受信することは、障害を識別する期間を示し、及び障害を識別する全資金を示す入力データを受信することを含んでも良い。期間及び全資金をテスタに提供することができ、次いで、テスタは、彼らが個人的な好み及び利用可能な時間に従って参加を望むテストジョブを決定することができる。彼らがテストする必要があり（さらに多くのテスタを伴う、従来のクラウドソーシング及び従来の手動の調査テストはさらに長い期間となる傾向がある）時間フレームを削減することによって、能力及び集中力を高め、さらに良好な結果を生み出し、顧客が製品を顧客により早く出荷することを可能にし、一部のケースでは、収入をより早く生み出す。
【００２６】
方法は、セキュアプロキシサーバを動作させることをさらに備えても良く、前記要求を受信することは、前記セキュアプロキシサーバを通じて前記要求を受信することを含み、前記複数の障害記録を受信することは、前記セキュアプロキシサーバを通じて前記複数の障害記録を受信することを含む。
【００２７】
複数のテスタを選択することは、前記特徴付けデータに基づいてパフォーマンス閾値を下回る能力データと関連付けられたテスタ識別子を前記チーム記録にランダムに追加することを含んでも良い。
【００２８】
ソフトウェアは、コンピュータによって実行されるとき、コンピュータに上記方法を実行させる。
【００２９】
製品またはサービスの障害を識別するコンピュータシステムであって、
入力ポートと、
プロセッサであって、
前記入力ポートを使用して、前記製品またはサービスの障害を識別する要求を受信し、前記要求は、前記要求を特徴付ける特徴付けデータを含み、
複数のテスタ識別子の各々と関連付けられた能力データに基づいて、及び前記特徴付けデータに基づいて、前記複数のテスタ識別子を選択して、チーム記録を生成し、各テスタ識別子は、テスタと関連付けられ、
前記チーム記録の前記複数のテスタ識別子の各々と関連付けられたユーザインタフェースを生成し、前記ユーザインタフェースは、テスタが障害記述を提供することを可能にするユーザ制御要素を含み、
前記ユーザインタフェースを通じて前記入力ポートを使用して、複数の障害記録を受信し、前記複数の障害記録の各々は、前記障害記述を含み、及び前記チーム記録の前記複数のテスタ識別子のうちの１つと関連付けられる、
前記プロセッサと、
前記製品またはサービスと関連付けられた前記複数の障害記録の各々、及び前記関連付けられたテスタ識別子を記憶するデータストアと
を備えた、コンピュータシステム。
【００３０】
製品またはサービスの障害を報告するコンピュータ実行方法であって、
製品またはサービスとのテスタの対話を表す映像データのストリームを受信することと、
前記映像データのストリームをデータストアに記録することと、
ユーザインタフェースを前記テスタに表示することであって、前記ユーザインタフェースは、前記テスタが障害記述を提供することを可能にする第１のユーザ制御要素、及び前記テスタが前記記憶された映像データのセグメントの開始時間を設定し、それによって前記テスタが前記障害を識別する間、前記セグメントが前記製品またはサービスとの前記テスタの対話を表すことを可能にする第２のユーザ制御要素を含む、ことと、
前記ユーザインタフェースを通じて前記障害記述及び前記開始時間を受信することと、
前記製品またはサービスと関連付けられ、及び前記テスタ識別子と関連付けられた前記障害記述及び前記開始時間をテストサーバに送信することと
を備えた、コンピュータ実行方法。
【００３１】
前記映像データのストリームを受信することは、別個のコンピュータデバイスから前記映像データのストリームを受信することを含んでも良い。前記映像データのストリームを受信することは、一連の複製されたスクリーン画像を前記映像データのストリームとして受信することを含んでも良い。前記映像データのストリームを受信することは、ＷｉｆｉまたはＢｌｕｅｔｏｏｔｈ（登録商標）データ接続上で前記映像データのストリームを受信することを含んでも良い。
【００３２】
方法は、前記テスタが前記製品またはサービスの障害を識別したことの通知を受信し、前記通知を受信すると、前記障害記述及び前記開始時間が受信されるまで、前記データストアへの前記映像データのストリームの前記記録を停止することをさらに備えても良い。
【００３３】
前記ユーザインタフェースは、前記製品またはサービス内の前記障害の位置の表示をさらに含んでも良い。
【００３４】
ソフトウェアは、コンピュータによって実行されるとき、コンピュータに前記商品またはサービスの障害を報告する上記方法を実行させる。
【００３５】
製品またはサービスの障害を識別するコンピュータネットワークであって、
前記製品またはサービスをテストする第１のコンピュータシステムであって、前記第１のコンピュータシステムは、前記第１のコンピュータシステムの複製されたスクリーンを表す映像データを送信する出力ポートを含む、前記第１のコンピュータシステムと、
第２のコンピュータシステムであって、
前記第１のコンピュータシステムから、前記製品またはサービスとのテスタの対話を表す映像データのストリームを受信する第１の入力ポートと、
前記映像データのストリームを記録するデータストアと、
ユーザインタフェースを前記テスタに表示するディスプレイ装置であって、前記ユーザインタフェースは、前記テスタが障害記述を提供することを可能にする第１のユーザ制御要素、及び前記テスタが前記記録された映像データのセグメントの開始時間を設定し、それによって前記テスタが前記障害を識別する間、前記セグメントが前記製品またはサービスとの前記テスタの対話を表すことを可能にする第２のユーザ制御要素を含む、前記ディスプレイと
前記ユーザインタフェースを通じて、前記障害記述及び前記開始時間を受信する第２の入力ポートと、
前記製品またはサービスと関連付けられ、及び前記テスタ識別子と関連付けられた前記障害記述及び前記開始時間をテストサーバに送信する出力ポートと
を含む、前記第２のコンピュータシステムと、
を備えた、コンピュータネットワーク。
【００３６】
製品またはサービスの障害を識別する結果を示す評価値を判定する方法であって、
複数の障害分類ごとに識別された障害の数を示す第１の入力データを受信することと、
前記複数の障害分類の各々の障害を識別しない第１のコストを示す第２の入力データを受信することと、
前記製品またはサービスの前記障害を識別する第２の全コストを示す第３の入力データを受信することと、
前記障害の数と乗算された前記第１のコストと前記第２のコストとの間の比率を示す出力値を判定することと、
前記出力値の指示を含むユーザインタフェースを生成することと
を備えた、方法。
【００３７】
ソフトウェアは、コンピュータによって実行されるとき、コンピュータに製品またはサービスの障害を識別する結果を示す評価値を判定する上記方法を実行させる。
【００３８】
製品またはサービスの障害を識別する結果を示す評価値を判定するコンピュータシステムであって、
入力ポートであって、
複数の障害分類ごとに識別された障害の数を示す第１の入力データと、
前記複数の障害分類の各々の障害を識別しない第１のコストを示す第２の入力データと、
前記製品またはサービスの前記障害を識別する第２の全コストを示す第３の入力データと
を受信する、
前記入力ポートと、
プロセッサであって、
前記障害の数と乗算された前記第１のコストと前記第２のコストとの間の前記比率を示す出力値を判定し、
前記出力値の指示を含むユーザインタフェースを生成する、
前記プロセッサと
を備えた、コンピュータシステム。
【００３９】
結果を特定するコンピュータ実行方法であって、
結果を特定する要求を受信することであって、前記要求は、前記要求を特徴付ける特徴付けデータを含む、ことと、
複数のサーチャ識別子の各々と関連付けられた能力データに基づいて、及び前記特徴付けデータに基づいて、前記複数のサーチャ識別子を選択して、チーム記録を生成することであって、各サーチャ識別子は、サーチャと関連付けられる、ことと、
前記チーム記録の前記複数のサーチャ識別子の各々と関連付けられたユーザインタフェースを生成することであって、前記ユーザインタフェースは、サーチャが結果記述を提供することを可能にするユーザ制御要素を含む、ことと、
前記ユーザインタフェースを通じて複数の結果記録を受信することであって、前記複数の結果記録の各々は、前記結果記述を含み、及び前記チーム記録の前記複数のサーチャ識別子のうちの１つと関連付けられる、ことと、
前記複数の結果記録の各々及び前記関連付けられたサーチャ識別子及びをデータストアに記憶することと
を備えた、コンピュータ実行方法。
【００４０】
ソフトウェアは、コンピュータによって実行されるとき、コンピュータに結果を特定する上記方法を実行させる。
【００４１】
結果を特定するコンピュータシステムであって、
入力ポートと、
プロセッサであって、
前記入力ポートを使用して、結果を特定する要求を受信し、前記要求を特徴付ける特徴付けデータを含み、
複数のサーチャ識別子の各々と関連付けられた能力データに基づいて、及び前記特徴付けデータに基づいて、前記複数のサーチャ識別子を選択して、チーム記録を生成し、各サーチャ識別子は、サーチャと関連付けられ、
前記チーム記録の前記複数のサーチャ識別子の各々と関連付けられたユーザインタフェースを生成し、前記ユーザインタフェースは、サーチャが結果記述を提供することを可能にするユーザ制御要素を含み、
前記ユーザインタフェースを通じて前記入力ポートを使用して、複数の結果記録を受信し、前記複数の結果記録の各々は、前記結果記述を含み、及び前記チーム記録の前記複数のサーチャ識別子のうちの１つと関連付けられる、
前記プロセッサと、
前記複数の結果記録の各々及び前記関連付けられたサーチャ識別子を記憶するデータストアと
を備えた、コンピュータシステム。
【００４２】
実施例の以下の非限定的な説明から本発明をより良く理解し得る。
【図面の簡単な説明】
【００４３】
【図１】製品またはサービスの障害を識別するシステムの簡易ブロック図である。
【図２】コンピュータシステムとして図１のホストをさらに詳細に示す。
【図３】ソフトウェアテスタを評価する方法を示すフローチャートである。
【図４】図３のステップ３６をさらに詳細に示す。
【図５】複数のテスタに対する例示的なデータベースを示す。
【図６】テスタが障害を提出することを可能にするユーザインタフェースを示す。
【図７】複数の障害記録を記憶するためのデータベースを示す。
【図８】ソフトウェアアプリケーションの障害／バグを特定する方法を示すフローチャートである。
【図９】テストディレクタを支援するためのユーザインタフェースを示す。
【図１０】製品またはサービスの障害を報告するテスタのコンピュータによって実行されるコンピュータ実行方法を示す。
【図１１ａ】図１１ａは、障害を識別する要求を生成するためのユーザインタフェースを示す。
【図１１ｂ】図１１ｂは、障害を識別する要求を生成するためのユーザインタフェースを示す。
【図１２】投資対効果モデルを示す。
【図１３】テスタが、捕捉された映像とともにバグを提出することを可能にする別のユーザインタフェースを示す。
【図１４】この問題に対処するためのコンピュータネットワーク１４００を示す。
【発明を実施するための形態】
【００４４】
ここで、添付図面への特定の参照でいくつかの特徴が説明される。しかしながら、図面への特定の参照で示され、かつ説明される特徴は、本発明の範囲を限定するものとして解釈されないことが理解されよう。
【００４５】
製品またはサービスの障害を識別するシステム及び方法は、ソフトウェアアプリケーションの障害を検出するとともに、ソフトウェアアプリケーションの障害の存在を識別するユーザの能力を測定する際に使用する用途と関連して以下で説明される。しかしながら、本発明のシステム及び方法は、財務報告、グラフィックもしくは芸術分野などの技術仕様、会計システムを含む様々な領域にわたって障害または誤りを発見および識別するユーザのスキルとともに、それらの領域で障害または誤りを識別する手段をテストする際に等しく採用されることができることが明白である。これはまた、コンピュータでの自動テストの精度が劣り、及び人間を使用することが製品またはサービスの品質を判定する最良の方法であろうと、会計監査、ジオマッピング、検索結果、オンライン広告、及びハードウェア製品、オンラインマニュアル及び科学的研究、インターネットの検索結果、検索エンジン最適化、ウェアラブル技術、インターネット接続自動車、モノのインターネットなどの他の領域に対するテスト及び品質保証を含んでも良い。製品はまた、ウェアラブル技術、ハードウェア、モノのインターネットなどのインターネットに接続された他の製品を含むことができる。
【００４６】
図１は、製品またはサービスの障害を識別するシステム１０を示す。示されるように、システム１０は、破線１２で示されるホストと、２つのユーザグループ、破線１４として示されるテスタユーザグループ及び破線１６として示されるクライアントユーザグループ１６とを含む。
【００４７】
ホスト１２は概して、ホストインタフェース１１を介してアクセス可能な１つまたは複数のサーバを収容するリモートに位置する記憶媒体１３を備える。ホストインタフェース１１は、ポータルとして機能し、テスタユーザグループ１４及び／またはクライアントユーザグループ１６の個々のメンバは、ポータルから、システム及びサーバ１３に記憶された任意の情報にアクセスすることができる。データがホストインタフェース１１とサーバ１３との間、ならびにホストインタフェース１１とユーザグループ１４及び１６の個々のメンバの各々との間で転送される方式は、当業者によって明らかなように、好ましくは、有線または無線通信チャネルを介して分散コンピューティングネットワークを通る。好ましい実施形態では、分散コンピューティングネットワークはインターネットである。ホスト１２、サーバ１３またはホストインタフェース１１によって実行されることになる本明細書で説明されるいずれかのステップは、システム１０の他の部分、または単純に図２を参照して説明されるいずれかのプロセッサによって等しく実行されても良いことに留意されたい。
【００４８】
ユーザグループ１４及び１６の個々のメンバの各々は、パーソナルコンピュータ、ラップトップ、携帯電話及び／またはタブレットデバイスなどのコンピュータデバイスによって分散コンピューティングネットワーク１４に接続される。これはまた、Ｇｏｏｇｌｅグラス、ウェアラブル技術、ビーコン、ロボット、仮想現実ヘッドセット及び技術、３Ｄ技術、センサ、埋め込み技術、または接続された自動車及び家を含むこともあり得る。そのような構成では、ユーザグループ１４及び１６の個々のメンバは、サーバ１３に記憶された関連する情報に独立してアクセスすることが可能である。
【００４９】
明白であるように、サーバ１３は、ユーザグループ１４及び１６のメンバの各々によって提供される情報を記憶及び処理するとともに、以下でさらに詳細に議論されるように、ホスト１２の代わりに任意のプログラムを動作させるように構成される。サーバ１３は、当業者にとって既知のいくつかのサーバのうちのいずれかであっても良く、ならびにユーザ１４及び１６の各々に動作可能にリンクするためにインタフェース１１に動作可能に接続されることが意図される。サーバ１３は一般的に、中央処理装置、すなわち１つまたは複数のマイクロプロセッサを含むＣＰＵ、及びＣＰＵに動作可能に接続されたメモリを含む。メモリは、ランダムアクセスメモリ（ＲＡＭ）、、磁気ハードディスクドライブなどの記憶媒体などのうちのいずれかの組み合わせを含むことができる。
【００５０】
サーバ１３のメモリは、ＣＰＵ上で実行するためのオペレーティングシステム、データベース、及び、ソフトウェアアプリケーションなどを記憶するために使用されても良い。以下でさらに詳細に議論されるように、好ましい実施形態では、データベースは、テスタユーザグループ１４の個々のメンバのスキルを評価するためにホスト１２によって操作されることになる予め定められたテストとともに、ユーザグループ１４及び１６の各々の個々のメンバに関連するデータを関係データベースに記憶する。
【００５１】
テスタユーザグループ１４と関連して、このグループは一般的に、個人１５、一般的に、本発明のシステム及び方法に参加するためにホスト１２に登録することを望むプログラマ、ならびにソフトウェアデザイナ及びテスタを含む。各々の個々のメンバ１５は一般的に、ソフトウェアプログラミング、特に、ソフトウェアアプリケーション内に存在する障害を識別及び修正することと関連付けられたスキルセットを有する。
【００５２】
テスタユーザグループ１４における各々の個人１５は、ホストインタフェース１１を介してホスト１２に登録する。これは一般的に、ホストインタフェース１１にアクセスし、及びホスト１２に登録するためにそれらの詳細を入力するための、ユーザが利用するコンピュータまたは携帯電話などにより達成される。個人１５がテスタユーザグループ１４のメンバとして登録するために、個人は、それらの名前及びいずれかの他の関連する識別の詳細とともに、ホスト１２が個人１５と連絡することを可能にする連絡先の詳細を入力することが促される。それらの詳細を登録すると、次いで、ホスト１２は、以下で説明される方式で、ホスト１２によって要求される障害検出の種々の態様に関連してその個人１５のスキルセットを評価するために、個人１５を評価する。
【００５３】
一実施例では、ホスト１２はさらに、面接評価、推薦（ｅｎｄｏｒｓｅｍｅｎｔ）または犯罪チェックを受信する。ホスト１２はさらに、個人１５が競合相手に勤務しているか否かを、ＬｉｎｋｅｄＩｎ、ＦａｃｅｂｏｏｋもしくはＴｗｉｔｔｅｒ、または他のオンラインプロファイルページなどのソーシャルネットワークページ及びプロファイルを自動的にスキャンすることによってなど判定しても良い。
【００５４】
図２は、コンピュータシステム２００としてのホスト１２をさらに詳細に示す。コンピュータシステム２００は、プログラムメモリ２０４、データメモリ２０６、通信ポート２０８及びユーザポート２１０に接続されたプロセッサ２０２を備える。プログラムメモリ２０４は、ハードドライブ、ソリッドステートディスクまたはＣＤ−ＲＯＭなどの非一時的コンピュータ可読媒体である。ソフトウェア、すなわち、プログラムメモリ２０４に記憶された実行可能なプログラムは、図３及び４における方法をプロセッサ２０２に実行させ、すなわち、プロセッサ２０２は、障害を識別し、テスタを選択し、テスタごとにユーザインタフェースを生成し、ユーザインタフェースを通じて障害記述を受信し、及び障害記述をデータメモリ２０６に記憶する要求を受信する。
【００５５】
プロセッサ１０２は、障害記録などのデータを、データメモリ２０６からとともに、通信ポート２０８及びユーザポート２１０から受信しても良く、ユーザポート２１０は、管理者などのユーザ２１６に対する処理をテストする視覚表示２１４を表示するディスプレイ２１２に接続されている。一実施例では、プロセッサ２０２は、ＩＥＥＥ８０２．１１に従ったＷｉ−Ｆｉネットワークを使用することによってなど、通信ポート２０８を介してテスタ２２０のデバイスから障害記録を受信する。Ｗｉ−Ｆｉネットワークは、ルータなどの専用管理インフラストラクチャが要求されないような非集中型アドホックネットワーク、またはネットワークを管理するルータもしくはアクセスポイントを有する集中型ネットワークであっても良い。
【００５６】
一実施例では、プロセッサ２０２は、障害記録をリアルタイムで受信及び処理する。これは、プロセッサ２０２が、テスト網羅率などのテスト状態、障害記録がテスタのコンピュータ２２０から受信された毎回の時間を判定し、及びテスタのコンピュータ２２０が次の障害記録を送信する前にこの計算を完了することを意味する。
【００５７】
通信ポート２０８及びユーザポート２１０が別個のエンティティとして示されているが、ネットワーク接続、メモリインタフェース、プロセッサ２０２チップパッケージのピン、またはＩＰソケットもしくはプログラムメモリ２０４に記憶され、及びプロセッサ２０２によって実行される関数のパラメータなどの論理ポートなどのいずれかの種類のデータポートがデータを受信するために使用されても良いことが理解されよう。それらのパラメータは、データメモリ２０６に記憶されても良く、及びソースコードにおいて、値渡し、または参照渡しで、すなわち、ポインタとして処理されても良い。
【００５８】
プロセッサ２０２は、全てのそれらのインタフェースを通じてデータを受信しても良く、インタフェースは、キャッシュもしくはＲＡＭなどの揮発性メモリのメモリアクセス、または光学ディスクドライブ、ハードディスクドライブ、ストレージサーバもしくはクラウドストレージなどの不揮発性メモリのメモリアクセスを含む。コンピュータシステム２００はさらに、動的な数の仮想マシンをホストする相互接続サーバの管理グループなど、クラウドコンピューティング環境内で実装されても良い。
【００５９】
プロセッサ２０２が後に受信されるデータを判定または計算する前に、いずれかの受信するステップがあっても良いことが理解されよう。例えば、プロセッサ２０２は、障害記録を前処理段階として構築し、及び障害記録をＲＡＭまたはプロセッサのレジスタなどのデータメモリ２０６に記憶する。次いで、プロセッサ２０２は、メモリアドレスとともに読み取り信号を提供することによってなど、データメモリ２０６からデータを要求する。データメモリ２０６は、物理的ビット線上でデータを電圧信号として提供し、及びプロセッサ２０２は、メモリインタフェースを介して障害記録を受信する。
【００６０】
他に記述がない限り、この開示全体を通じて、障害記録及びテスタ識別子などは、データメモリ１０６に物理的に記憶され、またはプロセッサ１０２によって処理されるデータ構造を指すことが理解されよう。さらに、簡潔さのために、「障害分類」などの特定の変数名に言及するとき、これは、コンピュータシステム１０に物理的データとして記憶された変数の値を指すものと理解されよう。
【００６１】
図３を参照して、テスタユーザグループ１４の個々のメンバ１５を評価及び処理する方法３０が示される。
【００６２】
一般的に、個々のメンバ１５は、ホスト１２によって提供されるいずれかの今後のプロジェクトに対して考慮されることになるそれらの詳細を登録する意図で、ホストインタフェース１１にアクセスする。ステップ２１では、個々のメンバ１５は、名前、年齢、位置、デバイス、技術、性別、及び個々のメンバ１５のプールの一部としてホスト１２のサーバ１３に記憶されるいずれかの関連する連絡先の詳細など、個人的な詳細を入力する。ホスト１２によって提供されるいずれかの今後のプロジェクトに参加するために、メンバ１５がホストに登録しているので、メンバ１５が、それらがいずれかの今後のプロジェクトに参加する場合に経済的報酬及び非経済的報酬を得ることが可能となる可能性がある。そのようにして、メンバは、いずれかの今後の支払いを受けるために適切な銀行口座の詳細とともにいずれかの職歴またはホスト１２によって関連すると見なされる類似の情報を入力しても良い。ステップ３１では、ユーザは、プログラミング経験に基づいて、専門技能または推奨のプロジェクトのパラメータを指名しても良い。ホスト１２はまた、メンバの詳細を処理及び登録するための登録手数料を含んでも良いが、登録手数料は、ステップ２１の任意選択の要件であっても良い。メンバがステップ３１で登録したとき、それらの登録の詳細が記録され、及び確認がそれらの指名された連絡先の詳細、一般的にそれらの推奨の電子メールアカウントを介してメンバ１５に送信されても良い。一実施例では、ホスト１２は、テキストメッセージを一意なコードでメンバのモバイルデバイスに送信する２要素認証構成を完了するようにメンバに要求し、メンバは、登録するとそのコードをソフトウェアに入力し、サインインするときにそれらのオンラインの識別を確認し、及びクライアントに対する追加のセキュリティレイヤを追加することが要求される。
【００６３】
ステップ３２では、ホスト１２は、ステップ３１で提供された情報に従って、どのテストがメンバ１５に対して必要とされるかを判定する。デフォルトで、各々の登録されたメンバは、ほとんどのソフトウェアアプリケーションで障害を検出するために必要とされる４つの主なスキルセットを評価するために特に指定された４つのテストを受けることが要求される。考えられる障害は、セキュリティの脆弱性、データベース誤り、一般的なソフトウェアのバグ、故障したリンク、低速な搭載部品（ｌｏａｄｉｎｇ  ｃｏｍｐｏｎｅｎｔｓ）及びタイムアウト、ユーザインタフェース設計障害、ならびに他のユーザビリティの問題とともに支払処理の障害及び不具合を含んでも良いが、それらに限定されない。それらの４つのテストは、以下を含んでも良い。
１．ユーザビリティテスト−メンバ１５が、ユーザビリティ問題に関連してそれらに埋め込まれるバグまたは障害を有する、ウェブサイトなどの予め定められたソフトウェアモジュールを提示され、及び所与の時間内にできるだけ多くのユーザビリティに集中したバグを識別することが要求される。
２．機能性テスト−メンバ１５が、機能性問題に関連してそれらに埋め込まれるバグまたは障害を有する、ウェブサイトなどの予め定められたソフトウェアモジュールを提示され、及び所与の時間内にできるだけ多くの機能性に集中したバグを識別することが要求される。
３．セキュリティテスト−メンバ１５が、セキュリティ問題に関連してそれらに埋め込まれるバグまたは障害を有する、ウェブサイトなどの予め定められたソフトウェアモジュールを提示され、及び所与の時間内にできるだけ多くの機能性に集中したバグを識別することが要求される。
４．組み合わせテスト−メンバ１５が、様々な問題に関連してそれらに埋め込まれるバグまたは障害を有する、ウェブサイトなどの予め定められたソフトウェアモジュールを提示され、及び所与の時間内にできるだけ多くのバグを識別することが要求される。
【００６４】
他のテストがまた、必要に応じて他のスキルセットをテストするように構成されても良いことが明白である。例えば、メンバ１５が専門家の会計士である場合、範囲の重大度に応じて変化することがあるそれらに提供された埋め込まれた障害またはバグを有するスプレッドシートまたは財務報告が作成されて、それらの特定の領域でメンバ１５の能力をテストする。よって、ステップ３２では、ホストは、登録されたメンバ１５が全てのテストに参加するために選ばれたか否かを判定しても良く、またはメンバ１５の過去の履歴を評価し、及びメンバによって受けることが要求されるほとんどの関連するテストを構成しても良い。
【００６５】
ステップ３３では、ホスト１２は、上記議論されたように、メンバ１５によって受けることになる適切なテストを行う。テストへのアクセスは、ホストインタフェース１１を介して登録されたメンバ１５によって得られても良く、ホストインタフェース１１は、次いで、ホストサーバ１３、またはクラウドベースしても良いリモートにホストされたサーバ１８に位置するテストにメンバ１５を案内しても良い。いずれかのイベントで、メンバ１５は、特定のテストにアクセスするために、一般的にパスワードから構成されるセキュリティパスが提供され、それは次いで、開始されると、テストを完了するためにメンバに対して時間フレームを確立する。
【００６６】
例として、テストは一般的に、それらに埋め込まれた１０個の軽微なバグまたは障害、１０個の標準のバグまたは障害、及び１０個の重大なバグまたは障害を有するウェブサイトのフォームにある。次いで、メンバは、最小の時間でできるだけ多くのバグまたは障害を発見及び識別することが要求される。テストが開始されると、メンバ１５は、ユーザがテストを受けるにつれてリアルタイムで捕捉される情報で、それらが進むにつれてウェブサイト内でテストをフラグ付け及び識別することが可能である。テストの完了時に、またはさらなる障害もしくはバグが検出されない時点で、メンバ１５はテストを終了させる。
【００６７】
テストの再現性を促進するために、それらがメンバ１５によって何度も受けられるように、ソフトウェアアプリケーションまたはウェブサイトは、常に、かつソフトウェアアプリケーションの任意のコンポーネント内で、正確なコードと不正確なコードとの間で手動またはアルゴリズム的のいずれかで切り替え可能な能力を有する。そのようにして、テストシステムは、ランダムにまたは定期的にデータセットを変更し、及びユーザインタフェース要素を変更して、そのメンバが、ソフトウェア障害がそのメンバによって受けられた前のテストに基づいているように見えることがある場合を予め定めることができないことを保証する能力を有する。
【００６８】
メンバ１５がテストを受けることを支援するために、テスト環境は、それらが既に参照したテストアプリケーションのどのエリアであるか、及びそれらがまだ参照していないアプリケーションのどのエリアであるかをメンバが把握することを可能にするコンポーネントのマップを含んでも良い。そのようなマップによって、メンバ１５がそれらが既に網羅したテストアプリケーションのエリアを網羅し、及びまだ網羅されていないテストアプリケーションの新たなエリアに集中することをメンバ１５が回避することも可能になるだろう。そのようなマップによって、テストアプリケーションのどのコンポーネントが最も検出されているか、及び最も検出されていないかを示すデータにホストがアクセスすることも可能になるだろう。このデータによって、広範囲に及ぶテストの影響を受けていないアプリケーションの特定のエリアに対する今後のテストをホストが作成することが可能になるだろう。コンポーネントのマップは、テスト網羅率が異なる色によって示されるヒートマップであっても良い。別の実施例では、プロセッサ２０２は、テスタの密度を地理的位置で示し、またはテスタによって識別された障害の数を地理的位置で示す地理的マップを生成しても良い。マップはまた、製品の透視図を含んでも良い。
【００６９】
一実施例では、ステップ３４では、テストの結果は、ホスト１２によって収集及び照合される。一般的に、結果は、ポイントベースであり、それによって、３０個のバグ（１０個の軽微なバグ／１０個の標準のバグ／１０個の重大なバグ）が存在する上記議論したテストでは、識別された各々のバグは、ポイント加算（ｐｏｉｎｔ  ｌｏａｄｉｎｇ）、すなわち、軽微なバグごとに１ポイント、標準のバグごとに２ポイント、及び重大なバグごとに３ポイントを持つ。そのテストに対する全ポイントは、テストを完了するのに要した時間とともにメンバ１５に対して照合される。
【００７０】
図２における矢印３８によって示されるように、１つのテストが完了すると、メンバ１５は次いで、ステップ３２でそのメンバ１５による完了について判定された全てのテストを完了することが要求されることがある。さらなるテストが要求される場合、ステップ３３及び３４は、上記議論されたように繰り返される。
【００７１】
ステップ３５では、メンバのテストの結果が、ホスト１２によって定量化される。テストごとの個々のスコアは、テストの各々にわたる全体のスコアとともに、サーバ１３における登録されたメンバプロファイルに対して取得及び記憶される。全体のスコアは、テストにわたる累積ポイントスコアまたは平均ポイントスコアであっても良い。各々のメンバ１５は次いで、個々のテストとともに全体のテストに基づいてランク付けされ、このランク付けは、新たなメンバが登録され、及びメンバが新たなテストを完了するときに定期的に更新される。
【００７２】
ステップ３６では、ホスト１２は、テストごとのスコア及び全体のスコアに対するスコアに基づいて、エリートチームのメンバを作成する。それらのエリートチームは、テストされたスキルセットに応じてチームごとに異なるメンバを含んでも良く、及び、一実施形態では、例えば、トップ７５％にあるスコアを有するそれらの個人を含んでも良い。チームメンバを選択する基準が様々な異なる状況に応じて変化することがあることが明白である。ステップ３６で成立したエリートチームは、２、５、１０、３０、４０人の間にあるメンバを含んでも良いが、チームメンバの人数は、メンバの可用性とともに今後のプロジェクトに対するクライアント要求及び好みなどの様々な要因に応じて変化しても良い。次いで、チームリストが、関連するサーバ１２にホスト１２によって記憶され、ホスト１２は、ホスト１２によって引き受けられ得るいずれかの今後のプロジェクトに対するエリートチームのメンバの更新されたリストを提供する。これは、評価スコアのチームリスト、すなわち、エクスプローラレベルを有するメンバのチームリストなどのエリートメンバ以外の能力データにも同様に適用しても良い。
【００７３】
図４は、ホスト１２のプロセッサ２０２によって実行されるこのステップ３６をさらに詳細に示す。プロセッサ２０２は、製品またはサービスの障害を識別する要求を受信する（４１）。例えば、ソフトウェアデベロッパは、それらのソフトウェア製品をテストさせることを望み、及びテスト要求をウェブサイトに提出する。プロセッサ２０２は、ＧＥＴまたはＰＯＳＴメソッドを使用することによってなど、インターネット上で要求を受信する。要求は、デベロッパがテストに取り組むことを望むテスタの最小限のスキルのレベル及びタスクをテストするための総額をなどの要求を特徴付ける特徴付けデータを含む。
【００７４】
別の実施例では、ユーザ２１６は、テストサービスプロバイダを表し、及びテストサービスと関連してデベロッパとの合意に達する。次いで、ユーザ２１６は、例えば、電子メールによってテストを記述した全てのデータを受信し、及び合意した額とともにデータをディスプレイ２１４に表示されたユーザインタフェースに入力する。結果として、プロセッサ２０２は、ユーザ２１６から直接要求及び特徴付けデータを受信する。
【００７５】
次いで、プロセッサ２０２は、複数のテスタ識別子の各々と関連付けられた能力データに基づいて、及び特徴付けデータに基づいて、複数のテスタ識別子を選択して、チーム記録を生成する。
【００７６】
図５は、複数のテスタに対する例示的なデータベース５００を示す。各々のテスタは、スキルレベル５０６のフォームにあるテスタ識別子５０２、名前５０４及び能力データと関連付けられる。この実施例では、デベロッパは、パフォーマンス閾値の指示を含む特徴付けデータを提供している。次いで、プロセッサ２０２は、複数のテスタ識別子５０２と関連付けられた能力データ５０６がパフォーマンス閾値以上であるように複数のテスタ識別子を選択する。例えば、パフォーマンス閾値は、「Ｅｘｐｌｏｒｅｒ」であっても良く、それは、プロセッサ２０２が識別子「３」及び「４」を選択することを意味する。結果として、プロセッサ２０２は、チーム記録を生成するために、チーム識別子５０６をデータベース５００に追加し、すなわち、チーム識別子「１」のチーム記録はここで、データベース５００に示されるテストされた識別子「３」および「４」を含む。
【００７７】
チームが選択され、ならびにチーム記録が生成及び記憶されると、プロセッサ２０２は、チーム記録の複数のテスタ識別子の各々と関連付けられたユーザインタフェースを生成する（４３）。
【００７８】
図６は、テスタがバグなどの障害を提出することを可能にするユーザインタフェース６００を示す。一実施例では、ユーザインタフェース６００は、ＨＴＭＬウェブサイトであり、すなわち、プロセッサ２０２は、ＨＴＭＬコードを生成し、ＨＴＭＬコードをファイルとしてデータストアに記憶し、それによって、ブラウザソフトウェアをそれぞれのＵＲＬに案内することによってテスタがＨＴＭＬファイルにアクセスすることができる。ユーザインタフェース６００は、バグの重大度６０２を指定するためのドロップダウンメニューを含む。一実施例では、重大度に対するオプションは、「低」、「標準」、「高」及び「重大」である。ユーザインタフェース６００はさらに、タイトル６０４を入力するためのテキストボックス、及び記述６０６を入力するためのテキストボックスを含む。
【００７９】
テキストボックス及びドロップダウンリストなどの特定のタイプのユーザ制御要素が説明されるが、他のタイプも同様に利用されても良いことに留意されたい。特に、プロセッサ２０２は、テスタが障害記述を提供することを可能にする他のタイプのユーザ制御要素を生成しても良い。
【００８０】
ユーザインタフェース６００はさらに、ＵＲＬパラメータを含む識別された障害を含むウェブページのＵＲＬなどの位置６０８を入力するためのテキストボックスを含む。ユーザインタフェース６００はまた、バグタイプ６１０、コンポーネント６１２、フォームファクタ６１４、ウェブブラウザ６１８に対するドロップダウンメニュー、ならびにウェブブラウザ６２０のバージョン番号、デバイス名６２２及びリファレンス６２４を入力するためのテキストボックスを含む。バグタイプは、アクセシビリティ、コンテンツ、クロスブラウザ、エクスペリエンス、ファンクショナル、ユーザビリティ、パフォーマンス、セキュリティ、、スペリング、及びその他を含んでも良い。コンポーネントは、アプライ、コンタクトフォーム、フッタ、ヘッダ、ログイン、マイディテールズ（Ｍｙ  Ｄｅｔａｉｌｓ）、ナビゲーション、その他、サーチ、サインアップ、トラッキング、及びウォッチリストを含んでも良い。テスタは、各々のバグ報告を提出するときに２つ以上のバグタイプ及び／またはコンポーネントを選択することができる。それらのバグタイプは、テストされることになる製品及びサービスのタイプに応じて各サイクル（課題）で変化することがあり、及びカスタマイズされても良い。用語サイクル、課題、プロジェクト及びジョブは、他に記述がない限り同意語として使用されることが理解されよう。
【００８１】
種々のユーザ制御要素の使用によって提供されるデータのうちのいずれかが、プロセッサ２０２による記述と見なされても良いことに留意されたい。例えば、位置ＵＲＬ６０８は単独で、障害の記述として十分であることがある。他の実施例では、記述は、物理アドレス、ＩＰアドレス、ＧＰＳ位置、またはグラフィックインタフェース内の位置もしくはエリアを含む。
【００８２】
テスタがユーザインタフェース６００にログインされているので、テスタの識別子は、テスタのクライアントコンピュータまたはホスト１２のいずれかで利用可能である。一実施例では、テスタ識別子が、隠されたユーザインタフェース要素であり、及び以下で説明されるようにホスト１２に送信される。別の実施例では、テスタのコンピュータは、ホスト１２でテスタを認証するためにデータを暗号化する。ユーザインタフェース６００の形成を完了した後、テスタは、提出ボタン６２６をクリックし、それは、ｏｎＣｌｉｃｋイベントハンドラを呼び出させる。イベントハンドラは、ユーザインタフェース６００から入力されたデータを読み出し、及びデータをＧＥＴ、ＰＯＳＴ、ＸＭＬＨｔｔｐＲｅｑｕｅｓｔまたは他の方法を使用してインターネットを介してホスト１２に送信する。
【００８３】
結果として、プロセッサ２０２は、入力されたデータを受信し（４４）、すなわち、プロセッサ２０２は、ユーザインタフェースを通じて複数の障害記録を受信する。複数の障害記録の各々は、障害記述を含み、及び前に判定されたチーム記録の複数のテスタ識別子のうちの１つと関連付けられる。このテスタ識別子との関連付けは、ユーザインタフェース６００に入力されたデータとともにテスタのコンピュータから受信されたテスタ識別子に基づいても良く、またはセキュアトークンなどのテスタのユーザ認証情報に基づいてプロセッサ２０２によって判定されても良い。プロセッサ２０２は、プロセッサ２０２によって生成されたユーザインタフェースで、または電子メールもしくはＳＭＳなどのリアルタイム通知もしくはメッセージングによって、テストディレクタ及び／またはクライアントによるレビューに利用可能な障害レポートを即時に作成しても良い。
【００８４】
次いで、プロセッサ２０２は、製品またはサービスと関連付けられた複数の障害記録の各々、及び関連付けられたテスタ識別子をデータストアに記憶する（４５）。
【００８５】
図７は、複数の障害記録を記憶するためのデータベース７００を示す。データベースは、データストア２０６または別個のストレージデバイスもしくはクラウドストレージに記憶されても良い。プロセッサ２０２は、障害識別子７０２を各々の障害記録に割り当て、ならびに図６におけるユーザインタフェース６００を通じて提供されるテスタ識別子７０４、ジョブ識別子７０６、重大度７０８、タイトル７１０、記述７１２、位置７１４、バグタイプ７１６、コンポーネント７１８、フォームファクタ７２０、オペレーティングシステム７２２、ウェブブラウザ７２４、バージョン番号７２６、デバイス名７２８及びリファレンス７３０を記憶する。
【００８６】
テスト期間が満了すると、プロセッサ２０２は、テスタ識別子と関連付けられ、及びデータベース７００に記憶された複数の障害記録に基づいて、複数のテスタ識別子の各々と関連付けられた金銭的報酬を示す金銭的価値を判定する。言い換えると、プロセッサ２０２は、各々のテスタがどの程度識別された障害に対して支払われるかを判定する。プロセッサ２０２は、ジョブをテストするなどの課題を作成するときに顧客の予算について判定された、資金のプールを作成する。言い換えると、顧客がジョブの特徴付けデータを提供するとき、クライアントはまた、利用可能な全資金、すなわち、予算の指示をも提供する。一実施例では、ホスト１２のオペレータはまた、テストインフラストラクチャを提供したことに課金するので、クライアントに対するコストは予算、すなわち、現金のプールよりも高い。
【００８７】
クライアントの予算に基づいて、プロセッサ２０２は、クライアントが選択し得るテスタの品質を判定する。次いで、プロセッサ２０２は、選択されたチームと関連付けられた現金のプールにおける資金の量の指示をインセンティブとして記憶する。値は、テスタの品質に基づいて判定される。プロセッサ２０２は、データベース７００に記憶されたテストサイクル（課題）の間、それらの個々の能力に基づいて各々のテスタにこの現金のプールがどのように分散されるかを判定する。プロセッサ２０２は、チームにおいてトップの能力のあるテスタに対してテスタをランク付けし、及びそれに従って支払いを判定する。プロセッサ２０２は、テスタに対する現金のプールにおける総額とともにテスタの人数を通信する。結果として、各々のテスタに対して、特定のテストジョブに対して潜在的な収入がどのくらいであるかが明白となる。
【００８８】
本開示は、参加者が参加することへのインセンティブを高める、コンピュータソフトウェアならびに他の製品及びサービスの障害を識別及び管理するために臨時労働力を利用する手段を提供する。ほとんどのケースでは、業績優秀者は、より多くの収入を得るより良い機会を有する。さらに、提案された方法を使用するとき、テストをさらに面白くし、及びテスタを保証し、それは、クライアントに対する能力及び効率性を高める。
【００８９】
上記説明されたように、各々の障害記録は、障害重大度などの障害分類７０８を含む。これによって、プロセッサ２０２が、分類に基づいて金銭的報酬を判定することが可能になる。一実施例では、４つの異なる誤りの重大度、低、標準、高、重大が存在する。誤りの各々の重大度は、ポイントスコアと関連付けられ、各々のテスタのポイントは、サイクルの終わりに集計される。例えば、
−低    １ポイント
−標準  ２ポイント
−高    ３ポイント
−重大  ４ポイント
テストが完了すると、プロセッサは、また、評価スコア、すなわち、図５におけるスキルレベル５０６を更新しても良い。完了したプロジェクトごとに、各々のテスタはポイントを受け取る。プロセッサ２０２は、それらのポイントを合計し、及び以下の式
ｐｉ＊１０／ｐｂ
を使用して、それらを課題における最良の結果と比較する。ｐｉは、ユーザｉがプロジェクトで集めたポイントの合計であり、ｐｂは、最良のテスタがプロジェクトで集めたポイントの合計である。
【００９０】
全体的なスコアを判定するとき、プロセッサ２０２は、ユーザがプロジェクトで得た全てのスコアの平均を取得する。現在のスコアは、テスタをプロジェクトにおける競合相手と比較する。結果として、最良のテスタは、スコア１０を取得する。プロセッサ２０２は、数を小数第１位に丸め得る。次いで、プロセッサ２０２は、以下に従って、スコアに基づいてテスタをカテゴリにグループ化する。
０〜１．０      初心者（Ｎｅｗｂｉｅ）
１．０１〜６    冒険家（Ａｄｖｅｎｔｕｒｅｒ）
６．０１〜８    探検家（Ｅｘｐｌｏｒｅｒ）
８．０１〜１０  エリート（Ｅｌｉｔｅ）
各々のプロジェクトの後にスコアを再計算することによって、テスタは、それらの分類で上昇または下降することができ、それは、テスタが良好に行う動機付けとなる。
【００９１】
プロセッサ２０２は、以下の式に従って、支払い量を判定しても良い。
【００９２】
ｐｉ＊Ｂ／ｐａ
ｐｉは、ユーザｉがプロジェクトで集めたポイントの合計であり、ｐａは、全てのテスタがプロジェクトで集めた全てのポイントの合計であり、Ｂは、プロジェクトの報奨金、すなわち、報酬プールまたはテスタに対する利用可能な全資金である。プロセッサ２０２は、値を丸めても良く、よって、上記式の結果が例えば、＄１２３．３３３３．．．である場合、次いで、ユーザは、＄１２３を取得する。計算の後、いくらかの金銭が残った場合（このケースでは、＄０．３３）、プロセッサ２０２は、これを受賞者にボーナスとして割り当てる。
【００９３】
支払いをスコア付け及び判定するこの特定の方法は、テスタが特定の障害を識別した最初の者であったかどうかに関わらず、彼らが報酬を受けることを意味する。これは、各々のテスタに対する時間制約が、課題に対する期間によってのみ生じ、競争するテスタの能力によっては生じないことを保証する。サイクルで競争するテスタの能力を表示することが、テスタが同僚をしのいで、及びより良い業績を上げる動機付けとなる。
【００９４】
プロセッサ２０２は、コミュニティ全体に対するリーダボードを提示しても良く、各々のプロジェクトに対する地位（ｌａｄｄｅｒ）はまた、ジョブまたは課題と称される。プロセッサ２０２は、地位及びリーダボードにある各々のテスタのポイントのみを表示し、各々のテスタの収入を表示しなくても良いが、計算することは可能であっても良い。プロセッサ２０２は、個々のテスタに、他のテスタが稼いだものではなく、彼らがどの程度稼いだかを示す。
【００９５】
テスタは、誤りを提出するときにそれらの重大度を選択することが要求され、次いで、テストディレクタ２１６は、各々のランク付けを検証し、データをクライアントに提示する前に変更を加える。上記により、各々のテスタが累積した全ポイントに応じて、プロセッサ２０２は、それらの全支払い量を、チームに割り当てられたプールから判定する。
【００９６】
図３を再度参照して、ステップ３７では、プロセッサ２０２は、メンバ１５にそれらのテスト結果を通知し、及び各々のテスタによって達成された報酬を表示するウェブサイトを生成することによってなど、それらの結果に基づいて、任意の報酬または提案を割り当てている。これに関して、プロセッサ２０２が、全体の評価スコアに応じて、テスタがエリートチームに選択されたことを示す任意の１つまたは複数のテストについて、テスタに対して特に高いスコアを判定した場合、プロセッサ２０２は、この情報をテスタに表示し、及び賞金またはメダルを提示して、この成果を現す。
【００９７】
この点について、メンバは、ホスト１２によって、履歴書またはレジュメの一部として授与されるそれらの成果または賞金を含む要求をプロセッサ２０２に送信し、履歴書またはレジュメは、今後そのような関連する分野で彼らが仕事を探すべきテストの分野での専門知識をサポートするために使用されることができる。プロセッサ２０２は、ホスト１２とのそれらの関与全体を通じてメンバによって達成された種々の成功に対して集められた賞金またはメダルを「バッジアイコン」の形式で示しても良い。ホスト１２がテスト結果に基づいて、メンバ１５のスキルの独立した評価を提供するので、プロセッサ２０２は、テストを完了した全ての他の人に対し、及びそれらの同僚に対してそのメンバのベンチマークを供給するものとして、メンバによって得られた任意のの賞金または結果を評価する。
【００９８】
図３に示される方法３０は、インハウスで生成されたソフトウェアの障害をテストまたは識別するプログラマまたはテスタとして雇用されることがある従業者の継続した評価の一部として、企業または組織によって使用されても良いことが明白である。例えば、ソフトウェア開発企業及びＩＴ部門は、ソフトウェアのテスト及び特定のタイプのソフトウェアアプリケーションの理解に関して、従業者のスキルセットまたは潜在的な従業者の候補を定量化するための本発明のシステム及び方法を使用しても良い。テストプログラムまたはアプリケーションはまた、コンピュータ及びソフトウェア関連コース内で訓練及び教育ツールとして使用されても良い。この点について、企業または組織は、それらの従業者に定期的な間隔で定期的な評価を受けることを指示しても良く、そのように、企業または組織はまた、ステップ３７でテスト結果を通知されても良い。
【００９９】
上記方法は、ソフトウェアデベロッパ及びテスタのスキルセットを評価及び定量化する単純かつ効果的な手段を提供することが理解されよう。この方法の結果として、本発明は、任意の目的からソフトウェアテストスキルを有する様々なメンバを供給（ｓｏｕｒｃｅ）して、ソフトウェアテスタのワールドワイドなプールを展開することが可能である。このプールから、プロセッサ２０２は、様々な専門分野にわたって、ソフトウェアアプリケーションをリリースする前にテスト及び評価する組織または企業による使用のために特定のスキルセットを有するメンバの１つまたは複数のエリートチームを生成する。
【０１００】
この点について、図１に戻り、本発明のシステム１０は、クライアント１７としてクライアントユーザグループ１６の一部として登録することによって、企業または組織がこの才能のプールを利用する能力を提供する。この点について、個々の企業または組織は、ホストインタフェース１１を通じてクライアント１７としてホスト１２に登録することが可能である。クライアント１７がホスト１２に登録されると、クライアントは、上記説明された特徴付けデータを含む、障害を識別する要求のフォームで、テストするためのソフトウェアを提出することが可能である。
【０１０１】
ソフトウェアをテストし、及びテストを受ける要求をクライアント１７から受信する処理を管理する方法８０が図８のフローチャートで示される。上記議論されたように、ステップ８１では、企業または組織は、クライアントとしてホスト１２に登録しても良い。企業または組織がクライアントとして登録するために、それらは、関連する詳細及び連絡先の詳細を提供しても良く、それによって、それらがホストサーバ１３上の登録されたクライアントとして登録され、すなわち、ホストサーバ１３は、提供されたデータを受信し、アカウントを作成し、及びその新たなアカウントと関連付けられたデータを記憶する。これによって、クライアント１７によるシステムの使用の履歴が今後の参照のためにホストサーバ１３によって記録されることが可能になる。
【０１０２】
クライアント１７がホスト１２に登録したら、クライアントは、クライアント１７によって保有され、またはそうでない場合、制御されるソフトウェアアプリケーションの全てまたは一部に関して受けられることになるテストをホスト１２に要求することが可能となる。ホストインタフェースにアクセスするこの要求は、クライアント１７によって開始されることができ、及び適切なプロジェクトをクライアントに提出する要求は、引き受けることになるプロジェクトの必要な詳細を提供することによって開始されることができ、すなわち、クライアント１７は、図４を参照して説明される特徴付けデータを含む要求を送信する。この点について、ホストインタフェース１１は、クライアント１７によって完了することを要求する一連の質問を含む、クライアント１７によってオンラインで完了することになる要求フォームを提供しても良い。このステップの一部として、クライアント１７は、それらがテストされるのに必要とするバージョンのソフトウェアアプリケーションを提出し、またはそうでない場合、利用可能にしても良い。要求するステップ８２の一部として提出される情報のタイプは、以下を含んでも良い。
ソフトウェアアプリケーションがレビュー／テストを必要とするエリアまたは態様、例えば、セキュリティ、ユーザビリティ、機能性
対象の障害／バグのタイプ
解決を必要とする問題／問題のタイプ
テストが要する時間フレーム
プロジェクトのコスト
テストされることになるソフトウェアアプリケーションへのアクセス
ステップ８３では、プロセッサ２０２であるホスト１２は、クライアントによって行われたプロジェクト要求をレビューし、かつプロジェクトの範囲を設定し、ならびにプロジェクトの諸条件の合意を求める作業概要の範囲を生成する。これは、メンバのプールから選択されることになるメンバのチーム規模、プロジェクトを完了するのに必要な時間、及び生成されることになる報告のフォームを判定することを含んでも良い。作業の範囲はまた、より高いレベルもしくはさらなるエリートチームのテスタを従事させ、またはプロジェクトに取り組むチームの規模を拡大するために、クライアント１７が考慮するコストのオプションを提供しても良い。例として、以下で参照される表１は、クライアントに提示しても良い種々のオプションについての指示を提供し、適用されるコスト構造に応じてプロジェクトが変わることができる方式を示す。
【０１０３】
【表１】
2017514241.tif 000003
【０１０４】
表１から分かるように、クライアント１７は、「プログラム１」のパッケージとして上記参照される基本パッケージの間で選択しても良く、そこでは、プロジェクトは、約＄１０，０００のコストで報告を供給することの見返りで３日間で４８時間のテスト期間で働く５人のテスタのチームを雇用する。代わりに、クライアント１７は、それらのソフトウェアに対しさらなる徹底的なテスト体制を申請する場合、彼らは、＄６０，０００のコストで報告を供給することの見返りで１０日間で９６時間のテスト期間で働く３０人のテスタのチームを含む「プログラム４」のパッケージを要求しても良い。プロセッサ２０２は、プロセッサ２０２によって生成されるグラフィカルユーザインタフェースを通じてなど、クライアント１７から選択を受信し、及び図５を参照して説明されるようにチームメンバを選択する。
【０１０５】
上記実施例は、種々のプロジェクトオプションをクライアントに対してパッケージ化しても良い方式の例示にすぎず、他の代替形態も想定される。この処理の一部として、ホスト１２は、プロジェクトを正式に承認し、及びプロジェクトの開始を促進する適切な資金を手付金として支払うことをクライアント１７に要求しても良い。
【０１０６】
以下の表２は、製品またはサービスをテストする要求に含まれる特徴付けデータを構成し得る異なる段階（ｔｉｅｒｓ）のテストの別の実施例を提供する。
【０１０７】
【表２】
2017514241.tif 000004
【０１０８】
表２に示されるように、プロセッサ２０２は、地理的選択基準を受信しても良く、それは、時間帯の範囲、または特定の国もしくは大陸の選択を含んでも良い。次いで、プロセッサ２０２は、それらの選択基準を満たすチームのメンバのみを選択する。別の選択基準は、全てのテスタが利用可能なあらゆるデバイスを有しているわけではないので、特定のデバイスのタイプまたは技術であっても良い。言い換えると、各々のテスタは、種々の異なるプロファイルの分野を有するテスタプロファイルを有し、クライアント１７は、地理的位置、彼らが有する経験のタイプ、彼らが素行チェックおよびバックグラウンドチェックを受けたか否か、面接及び承認されたか否か、または性別もしくは年齢など、プロファイルの分野に合致する基準を提供することができる。
【０１０９】
ステップ８４では、プロジェクトをサポートする資金、及び進行の承認を受けると、ホスト１２は、合意した作業の範囲（Ｓｃｏｐｅ  ｏｆ  Ｗｏｒｋ）に従って、コンテスト（Ｃｏｎｔｅｓｔ）を作成する。これは、テスタのチームの規模、コンテストの時間、テスタによって共有されることになる賞品のプール、及びポイントが成功したテスタに授与されることになる方式を判定することを含むだろう。
【０１１０】
例として、クライアント１７が表１で言及する「プログラム１」のパッケージを選択する場合、ホストは、図２の方法で行われるテストに基づいて、ホストサーバに記憶された最も関連するエリートチームにおいて５人のメンバを招待することによって、ステップ８４でコンテストを作成することになる。コンテストを作成することは、ジョブ番号及びクライアント１７によって提供される他の特徴付けデータと関連付けられたデータをデータストア２０６に記憶することを含む。プロセッサ２０２は、プロジェクトに対してエリートチームのテスタを形成するためにトップの５人のメンバを選択する。プロセッサ２０２は、例えば、メンバの各々に電子メールを送信しても良く、電子メールは、ｐｄｆ文書またはウェブサイトへのリンクなどの簡単な報告を含み、ステップ８３でクライアント１７によって提供された作業の範囲に基づいて、コンテストの目的、ならびにテストにおいて、及びテストの間に報告されることになるバグ／障害のタイプを設定する。プロセッサ２０２はまた、各々のメンバにコンテストに対する申込みに関する現金のプールについての指示を提供する。次いで、各々のメンバは、プロジェクトを受諾する前にそれらの潜在的な収入を判定することが可能であり、彼らが参加することを望む場合、メンバがホスト１２に対して応答することになる。コンテストへのインビテーションがメンバによって拒絶される場合、ホスト１２は、次に高くランク付けされたメンバを選択し、及びチームの５人の全てのスポットが埋まるまでそのメンバにインビテーションを送信することになる。
【０１１１】
ステップ８５では、全てのチームのメンバがコンテストを引き受けたら、各々のメンバは、テストされることになるソフトウェアアプリケーションへのアクセスが提供され、それは、ホストサーバ１３またはリモートサーバ１８にホストされても良いソフトウェアアプリケーションへのリンクを送信したメンバを介して行われても良い。いくつかの適用では、ホスト１２が製品またはサービスへのアクセスを明示的に提供しないことに留意されたい。特に、公共輸送機関または公共施設をテストするときなど、サービスが公的に利用可能なケースでは、テスタは、アクセスが提供されずにそれらのサービスに単純にアクセスすることができる。しかしながら、アクセスを提供することは、サービスにアクセスするさらなるコストを発生させずにテスタがサービスにアクセスすることを可能にするチケットまたは他のアイテムを提供することを含んでも良い。
【０１１２】
好ましい形式では、テストのためにクライアントのソフトウェアアプリケーションにチームメンバがアクセスすることは、セキュアプロキシによって制御される。セキュアプロキシの使用は、顧客が追加されたセキュリティ保護及び対策をつけるための任意選択である。プロセッサ２０２は、テスタが資産をテストしたのにどの程度の時間を要したか、彼らがどの経路を与えられたかを追跡及び測定するためにプロキシサーバに問合せても良い。プロセッサ２０２は、製品またはサービス、ならびに追跡時間及び報告されるバグのマップに関してテスタを本質的に追跡することができる。セキュアプロキシサーバは、各々のメンバがソフトウェアアプリケーションに入り、及びアクセスするときにソフトウェアアプリケーションにアクセスする彼らを認証する。コンテストが完了した後、セキュアプロキシサーバはアクセスを解除する。一実施形態では、コンテストを開始する前に、ホストは、エリートのテスタのチームの各々のメンバに対する認証情報を作成し、ならびに各々のメンバに対するトークンを生成し、トークン及びログインｉｄを含むメンバにインビテーションを送信する。次いで、各々のメンバは、例えば、．ｉｐａまたは．ａｐｋファイルなどのテストされることになるソフトウェアアプリケーションをそれらのコンピュータデバイスにダウンロードする。クライアントは、関連するＵＲＬにおける認証情報及び要求データを含み、ソフトウェアａｐｐにアクセスするために、メンバはそれらのログインｉｄ及びトークンを入力する。次いで、ソフトウェアアプリケーションは、ホストのセキュアプロキシで認証し、その段階で、ホストは要求データをターゲットのクライアントのａｐｉに渡す。コンテストの完了時に、ホストは、メンバを非活性化し、プロキシは、全てのさらなる要求を停止する。
【０１１３】
そのようなシステムは、承認なしに、かつソフトウェアがテスト工程の間または後に他の当事者と共有されることなく、それらのソフトウェアへの未知のアクセスに懸念し得るクライアントに、あるレベルの信頼性及びセキュリティを提供することが明白である。そのようなセキュアプロキシレイヤを提供することによって、セキュリティが保証される。上記説明された２要素認証などの他のセキュリティ構成も採用されても良いことが明白である。
【０１１４】
ソフトウェアアプリケーションへのアクセスが有効になると、コンテストが開始する。次いで、招待されたメンバの各々は、プロジェクトの概要に従ってソフトウェアの障害／バグを識別するのに競争する。コンテストの間、各々のメンバは、障害／バグ、及びバグ／障害の存在を確認することに必要な情報のタイプを報告する。これは、ソフトウェアに存在する障害のスクリーンショット及びスクリーンキャプチャ、ならびにバグ／障害、バグ／障害の位置、タイプ及び重大度を再生するためのステップを識別する手段によって達成されても良い。
【０１１５】
クライアントに対する報告を生成するためにコンテストの間のデータ収集を促進するために、プロセッサ２０２は、テスタの入力動作を記録し（例えば、キーストローク動作またはマウスクリック）、プロセッサ２０２は、彼らがコンテストで競争するときにどのテスタが見ているかのビデオ映像を同時に捕捉する。プロセッサ２０２は、各々の入力動作の日時を記録し、及び入力動作をシステム内のタイムラインに挿入する。テスタがアプリケーション内のバグ／障害を識別するので、プロセッサ２０２は、テスタが彼らのクライアントコンピュータによって捕捉されるアプリケーションを参照するときにどのテスタが見ているかのビデオ映像を受信する。このビデオ映像はまた、特定の日時に帰する映像の各々のフレームを有するシステムのタイムラインに供給される。次いで、プロセッサ２０２は、ビデオ映像をテスタのデータ入力（キーストロークまたはマウスコマンドなど）に一致させる。テスタがアプリケーション内のバグ／障害を識別するとき、彼らは、欠陥が特定されたことをシステムに警告する制御を活性化する。プロセッサ２０２は、特定のＵＲＬ及びネットワークアドレス、ＧＰＳ位置、ＩＰアドレスまたは物理アドレスなどのアプリケーション内の特定の位置を、バグ／障害が発見される時に記録する。次いで、テスタは、バグ／障害の書き込まれる記述を追加するとともに、ソフトウェアインタフェース内の組み込みレーティングシステムを使用して、バグ／障害の重大度を各付けすることができる。次いで、システムは、バグ／障害の位置、バグ／障害をもたらしたデータ入力、及びバグ／障害がテスタにどのように見えたかを実証する映像の区画を記録する。上記実施例は、映像データを記録することに関するが、プロセッサ２０２が、映像データを記録することとともに、または映像データを記録することなく、バグの記述の口頭記録を含んでも良い音声データを同様に記録しても良いことに留意されたい。本明細書で映像データに言及するとき、音声データが代わりに使用されても良いことが理解されよう。
【０１１６】
一実施例では、プロセッサ２０２は、テスト工程の間に障害記録を受信し、及びテスト工程が完了した後に完全な映像ファイルを受信する。障害記録及び映像ストリームの両方は、現在時刻を含み、プロセッサ２０２は、障害記録のタイムスタンプに関連する映像ストリームの区画をタグ付けすることができる。
【０１１７】
コンテストの期間の間、各々のテスタは、リアルタイムで検出されたバグ／障害の数、検出されたバグ／障害のタイプ、及び、テストされたアプリケーション内で検出された各々の欠陥の位置を記述するデータへのアクセスが与えられる。システムを使用して、各々のテスタは、テスト期間内の所与の時間に彼らがどの程度良好にグループに対して働いたかを把握することができる。
【０１１８】
コンテストが完了すると、ステップ８６で、バグ／障害をもたらした特定のデータ入力とともにバグ／障害の自動的なログ記録及び映像の記録された位置の集合を含む報告が生成される。報告は、コンテストの間に全てのテスタによって識別された全てのバグ／障害のリストを編集する。クライアントがバグ／障害のリスト内で特定のバグ／障害を選択するとき、それらは、バグ／障害のテスタにより書き込まれた記述、バグ／障害の重大度などのテストに関連する全ての関連するシステム情報、及びテスタがバグ／障害を発見するために使用したブラウザまたはデバイスなどの他の関連する情報とともに表示される。このシステム情報に従って、クライアントは、バグ／障害が検出されたアプリケーション内の特定の位置に同時に案内される。バグ／障害を記録したビデオ映像の特定の区画も、テストされた製品またはサービスに応じて、アプリケーションコード、財務データ、地理的マップ、またはグラフィカルマップとともに、アプリケーションの次に同時に表示される。
【０１１９】
ビデオ映像は、バグ／障害がテスタに対してどのように見えるかを示す。これによって、クライアントがバグ／障害が発生したところを手動で特定する必要なく、アプリケーション内でバグ／障害を再作成することが可能になる。バグ／障害に関する全ての他の情報がまた、テスタの各々から照合され、それは、クライアントのソフトウェアデベロッパがソフトウェアアプリケーション内の識別されたソフトウェアのバグ／障害を再作成及び修正することをより早くかつより容易にするように設計される。
【０１２０】
別の実施形態では、クライアントは、バグ／障害のビデオ映像を参照することができ、システムは、バグ／障害が存在する位置でアプリケーションのコンパイルされていないコードベースを自動的にオープンする。クライアントが新たなバグ／障害に移動し、及びビデオ映像の新たな区画が表示されるとき、システムは、次のバグ／障害が現れるアプリケーションコードの新たな区画を自動的に表示する。
【０１２１】
図９は、テストディレクタ２１６を支援するためのユーザインタフェース９００を示す。ユーザインタフェース９００は、映像パネル９０２、ソースコードパネル９０４及び障害パネル９０６を含む。障害パネル９０６は、図７に示されるように障害のリストを表示する。例示を簡易にするためにいくつかの列が省略されている。各々の障害は、ソースコードにおける特定のセグメントと関連付けられ、及び映像ファイルにおける特定の時間とも関連付けられる。表９０６は、映像リンク９０８に対するさらなる列を含む。テストディレクタ２１６は、実例リンク９１０などの各々のリンクをクリックすることができる。このｏｎＣｌｉｃｋイベントを検出したことに応答して、プロセッサ２０２は、映像パネル９０２における映像プレイヤの現在の再生位置をそれぞれの位置に設定し、それは、リンク９１０の実施例における１２分５５秒である。プロセッサ２０２はさらに、障害が関連する部分のソースコードをオープンし、及びソースコードをソースコードパネル９０４に表示する。
【０１２２】
ステップ８７では、コンテストの完了に続いて、プロセッサ２０２は、事前に確立されたリワードシステムに従って、チームのテスタ／メンバの各々に対する報酬を判定する。前に議論されたように、各々のテスタは、コンテストの間に得られた個々の能力に基づいて全てのテスタの間で共有される賞品のプールを有する、賞金プールなどの決められた賞品のプールに対して競争する。プロセッサ２０２は、クライアントによって支払われる全プロジェクトのコストから、ホストが要した比率を引いたものから決められた賞品のプールを判定する。プロセッサ２０２は、最も高くスコア付けしたテスタに対して決められた賞品のプールの最大の持ち分割合を判定する。一方で、プロセッサ２０２は、最も低くスコア付けしたテスタに対して賞品のプールの最小の持ち分割合を判定する。プロセッサ２０２は、報酬に対する判定された値をデータストア２０６に記憶し、及び制御メッセージをアカウンティングシステムに自動的に送信することによってなど、テスタへの支払いを開始しても良い。
【０１２３】
スコアが計算される方式は、識別されるバグ／障害の重大度に基づいて割り当てられたポイントでの、元のテスト評価に関連して前に同じように説明されている。テスト期間の間に全くスコア付けしないテスタは、賞品のプールのいかなる持分も受け取らない。システムは、テストの間にテスタの能力を自動的に記録し、及びテストの完了に関して支払われることになるテスタに対する全収入を計算する。
【０１２４】
データメモリ２０６に記憶されるのはまた、特定のタイプの識別されるバグ／障害と関連付けられた定価であっても良い。例として、＄１００の賞金が検出される各々の重大なバグ／障害と関連付けられる場合、プロセッサ２０２は次いで、５つの重大なバグ／障害を発見したテスタが＄５００の報酬を受けると判定する。＄１０の賞が各々の軽微なバグ／障害に対して授与され、及びテスタが３つの軽微なバグ／障害を発見する場合、プロセッサ２０２は、そのテスタと関連付けられた＄３０の結果を計算する。
【０１２５】
ステップ８７では、能力に基づいて非金銭的報酬もテスタに授与されることが想定される。一実施形態では、コンテストにおける能力に基づいて、１つまたは複数のバッジがテスタに授与されても良い。そのようなバッジは、テスタによって発見されたバグ／障害のタイプとともに、所与の期間の間に検出されたバグ／障害の数、または注目に値すると考えられる任意の他の行為に対するバッジと関連しても良い。そのために、プロセッサ２０２が、期間の間にテスタが障害の閾値数を識別したか否かを判定し、そのテスタと関連付けられたバッジの識別子を成果データベースに記憶し、及びデジタル報酬を含むリーダボード認識の表示を生成する。
【０１２６】
開示されるシステム及び方法は、ソフトウェアのテスタのスキルセットを評価及び定量化し、ソフトウェアのテスタの能力を奨励し、ソフトウェアのテスタがソフトウェアの欠陥をより迅速に識別及び報告することを可能にし、ならびにソフトウェアのデベロッパがソフトウェアの欠陥を、以前に利用可能な方法よりも高速かつ効率的に修正することを可能にする手段を提供することが明白である。
【０１２７】
ソフトウェアアプリケーションに存在する障害／バグの検出に関連してシステム及び方法が上記で説明されたが、本発明のシステム及び方法が以下の様々な異なるサービスにわたって等しく適用されても良いことが明白である。
−想像（ｉｄｅａｔｉｏｎ）サービス、すなわち、新たなアイデアを生成、開発、及び伝える創造的工程と、
−専門知識に基づくサービス−すなわち、技術またはスキルの信頼できる源として広く認識されているオンライン作業者によって完了されるタスクと、
−些細なタスク−すなわち、特殊な知識または専門知識を必要としない、オンライン作業者によって完了される短期間のタスクと、
−ソフトウェアサービス−プログラムコード、ソフトウェア製品及びオンラインアプリケーションの設計、開発、テスト、及びユーザフィードバックの収集と、を含む。
【０１２８】
図１０は、製品またはサービスの障害を報告する、テスタのコンピュータによって実行されるコンピュータ実行方法１０００を示す。テスタのコンピュータは、図２を参照して説明されたコンポーネントを含み、よって、テスタのコンピュータのコンポーネントに言及するために図２からの参照符号がここで使用される。
【０１２９】
プロセッサ２０２は、データポート２０８を使用して、製品またはサービスの障害を識別する要求を受信する。要求は、要求を特徴付ける特徴付けデータを含む。例えば、プロセッサ２０２は、特定のソフトウェアがテストされることになる情報を受信し、及びそのジョブをテスタに警告することができる。プロセッサ２０２はまた、上記説明されたように、このテストジョブに対する全価格プールを表示する。
【０１３０】
プロセッサ２０２は、複数のテスタ識別子の各々と関連付けられた能力データに基づいて、及び特徴付けデータに基づいて、複数のテスタの選択の指示をテスタに表示する。これは、テスタがテスタのリスト、またはこのジョブに対して選択されたテスタの数だけを参照することができることを意味する。結果として、テスタは、このジョブの潜在的な収入を判断することができ、及びジョブに参加するか否か、または別のテストジョブを探すか否かを決定することができる。
【０１３１】
テスタは、このチームに参加することを受諾し、及び製品またはサービスのテストを開始する。テストの間、プロセッサ２０２は、製品またはサービスとのテスタの対話を表す映像データの連続したストリームを受信し（１００２）、及び映像データの連続したストリームをデータストア２０６に記憶する（１００４）。
【０１３２】
テスタが障害を識別し、及び「障害識別」ボタンをクリックすると、プロセッサ２０２は、報告ユーザインタフェースをテスタに表示する（１００６）。報告ユーザインタフェースは、テスタが障害記述６０６を提供することを可能にする第１のユーザ制御要素及びテスタが記録された映像データのセグメントの開始時間を設定し、それによって、テスタが障害を識別する間、セグメントが製品またはサービスとのテスタの対話を表すことを可能にする第２のユーザ制御要素を含む。第２のユーザ制御要素は、図１３における要素１３０６として後に説明される。
【０１３３】
テスタが「提出」ボタンをクリックすると、プロセッサ２０２は、ユーザインタフェースを通じて、障害記述及び開始時間を受信し（１００８）、ならびに製品またはサービスと関連付けられ、及びテスタ識別子と関連付けられた障害記述及び開始時間を図１におけるテストサーバ１２に送信する（１０１０）。
【０１３４】
ユーザインタフェースを通じて受信されたデータは、テスタがテスト環境にログインするためにパスワード及びユーザ名が提供されていることを理由に、テスタと関連付けられたテスタ識別子と関連付けられても良い。
【０１３５】
一実施例では、単一のソフトウェアアプリケーションは、図１３及び１４を参照して後に説明されるように、報告及び映像の対話の機能を提供する。別の実施例では、障害を報告するとき、各々の障害報告にＳｃｒｅｅｎｃａｓｔ−Ｏ−Ｍａｔｉｃ（ｈｔｔｐ：／／ｓｃｒｅｅｎｃａｓｔ−ｏ−ｍａｔｉｃ．ｃｏｍ／）を使用して記録された映像が伴う。
【０１３６】
スマートフォンまたはタブレットアプリケーションをテストし、及び欠陥の映像を記録するときに、テスタは、以下のうちの１つなどの第三者ツールを使用することによって彼らがテストしているデバイス及びアプリケーションを複製することができる。
−Ｍａｃ、Ｗｉｎｄｏｗｓ、及びＡｎｄｒｏｉｄ用Ｒｅｆｌｅｃｔｏｒ  ｈｔｔｐ：／／ｗｗｗ．ａｉｒｓｑｕｉｒｒｅｌｓ．ｃｏｍ／ｒｅｆｌｅｃｔｏｒ／ｄｏｗｎｌｏａｄ／
−Ｗｉｎｄｏｗｓ用Ｍｉｒｒｏｒｏｐ  ｈｔｔｐ：／／ｗｗｗ．ｍｉｒｒｏｒｏｐ．ｃｏｍ／
−Ｍａｃ及びＷｉｎｄｏｗｓ用Ａｉｒｓｅｒｖｅｒ  ｈｔｔｐ：／／ｗｗｗ．ａｉｒｓｅｒｖｅｒ．ｃｏｍ／Ｍａｃ
−Ａｎｄｒｏｉｄ用Ｍｏｂｉｚｅｎ  ｈｔｔｐｓ：／／ｗｗｗ．ｍｏｂｉｚｅｎ．ｃｏｍ／？ｌｏｃａｌｅ＝ｅｎ
Ｓｃｒｅｅｎｃａｓｔ−Ｏ−Ｍａｔｉｃを使用して障害映像を作成するとき、各々の映像のウェブアドレスＵＲＬをコピーすることができ、Ｓｃｒｅｅｎｃａｓｔ−Ｏ−Ｍａｔｉｃから報告フォームにペーストすることができ、及びレファレンスの下でペーストすることができる。テスタは、バグ報告ごとに２つ以上のＵＲＬアドレスを追加しても良い。
【０１３７】
図１１ａ及び１１ｂは、製品であるオンラインストアの実施例において障害を識別する要求を生成するためのユーザインタフェース１１００を示す。ユーザインタフェース１１００は、賞金値（ｂｏｕｎｔｙ  ｖａｌｕｅ）１１０２を提供し、及びテスタの数１１０４を提供するための入力フィールドを含む。それらの２つの値は、オンラインストアでの障害を識別する要求の特徴付けデータとして、クライアントによって入力されても良く、及びプロセッサ２０２によって受信されても良い。
【０１３８】
一実施例では、ユーザインタフェース１１００は、テスタによってシステム１２に提出されると一度報告される、全てのバグを暗号化することを選択するための制御要素を含んでも良い。クライアントのみが、それらを参照することを可能にするための一意な鍵が提供される。これは、当該工程に追加のセキュリティのレイヤを追加し、及びテスタがそのデータを共有することが可能になる可能性を低下させる。さらに、クライアントは、それらの映像をクラウドまたはそれら自身のクラウドに記憶させることを選択することができる。
【０１３９】
明細書及び特許請求の範囲全体を通じて、単語「ｃｏｍｐｒｉｓｅ」及びその派生語は、逆のことが明確に記述されない限り、またはコンテキストが他に要求しない限り、排他的な意味ではなく包括的な意味を有することが意図される。すなわち、単語「ｃｏｍｐｒｉｓｅ」及びその派生語は、逆のことが明確に記述されない限り、またはコンテキストが他に要求しない限り、それが直接言及する表示されたコンポーネント、ステップまたは特徴だけでなく、特に表示されていない他のコンポーネント、ステップまたは特徴をも含むことを示すと見なされる。
【０１４０】
プロセッサ２０２は、組み込まれた欠陥を有するソフトウェアを最初から作成しても良い。テスタは、上記説明されたように、設定された期間にわたって彼らがその事前に組み込まれたソフトウェアで発見する欠陥を折り返し報告するために競争する。プロセッサ２０２は、ソフトウェアを、定期的に新たな欠陥を取り入れるように更新しても良い。次いで、テスタは、トップの有能なテスタに対してランク付けされ、及びそれらのスキルを今後のまたは現在の使用者に確認するためにそれらの結果を使用することができる。
【０１４１】
プロセッサ２０２は、サイクルの間に発見された欠陥を取得しても良く、及び報告されたそれらの欠陥に基づいてある範囲の自動化テストスクリプトを構築しても良い。これは、クライアントが経時的に自動化テストを構築するのに役立ち（手動のテストを行うのではなく）、それは、欠陥を削減するが、テスタがアプリケーションの部分をテストすること、及びさらなる高い値の欠陥を発見することに集中するさらなる時間を費やすことをできるようにすることにもなる。
【０１４２】
開示されるシステムは、追跡コード及びツールをそれらのアプリケーションに組み込んでも良く、ならびにヒートマッピング、及び彼らがアプリケーションをテストしており、かつ製品のテストに取り組んでいる間にテスタによって自動的に生成されるユーザ生成データを提供しても良い。これはまた、テスタがテストしている製品を破壊したときに生成される自動生成例外報告、地理的領域、デバイス及びブラウザタイプ、ならびに彼らが最も時間を要したところを判定するためのヒートマッピングを含む。
【０１４３】
プロセッサ２０２は、各々のテスタからの全体的なテスト期間の映像を記録しても良く、及びその動画のようなデータをクライアントに提示しても良い。クライアントは、欠陥のコンテキストを提供する、報告された各々の欠陥をクリックしても良く、次いでクライアントをその動画におけるその時間のポイントに直接案内し、それによって、彼らが欠陥の映像を見ることが可能になり、及び問題をより良好に理解することが可能になる。これはまた、上記述べたように、他のチームメンバと欠陥を共有することを容易にする。
【０１４４】
図１２は、投資対効果（ＲＯＩ）モデル１２００を示す。プロセッサ２０２は、各々のバグタイプ１２０２に対するさらなるユーザインタフェースを通じて、クライアントから特定の誤りを修正するコスト、誤りがどの段階で発見されたか（ステージングまたは製造）、クライアントの規模、及び異なる重大度の総数を反映する値１２０４を受信する。言い換えると、テスト期間の前に、クライアントは、バグの重大度の各々に置かれた金銭的価値に合意する。テスト工程の終わりに、プロセッサ２０２は、識別されたバグの数１２０６を乗算して、各々のバグタイプごとの小計１２０８を判定する。バグの合計値１２１０及びテスト工程のコスト１２１２に基づいて、プロセッサ２０２は次いで、ＲＯＩ値１２１４を判定する。
【０１４５】
プロセッサ２０２は、クライアントに対して障害を修正する時間を節約することを支援するチームの能力によって導出される、評価された期間での結果（ｒｅｓｕｌｔｓ  ｉｎ  ｔｅｒｍｓ  ｖａｌｕｅｄ）及び節約時間（ｓａｖｉｎｇｓ）または収入をクライアントに再度提示する。各々のテストサイクルの終わりに、プロセッサ２０２は、ＲＯＩモデル１２００を作成する。クライアントは、各々の重大度のコストを入力することができる。プロセッサ２０２はまた、収入値をＲＯＩモデルに追加することができ、コスト節約分析を行うだけでなく、チームを運営し、及びより良好な品質の製品をリリースした後に企業がどの程度より多くの収入を得ることができ得るかの見積もりを示すこともできる。コスト節約を判定することができるコストの節約を判定することができる別の方法は、ユーザをサポートするコールセンタに対するコストによるものであっても良い。それは、報告される誤りの重大度、彼らが特定の誤りごとに受信した電話の数、及び各々のユーザをサポートする電話ごとのコストに基づいて測定されることができる。クライアントが製造において欠陥の量を削減するとき、これはまた、ユーザをサポートするのではなく、それらのコールセンタが新製品及びサービスを販売するのにさらなる時間を費やすことを意味し、これは、収入を増加させる。
【０１４６】
クライアントが優良な製品であると信じる製品を提供するのではなく、プロセッサ２０は、変化するレベルの重大度または問題を有する、既に製品またはサービスに実装されている、種々の重大度レベルの欠陥を有するソフトウェアを最初から構築しても良い。個々のテスタは時間フレームが与えられ、その時間フレームにおいて、彼らが製品またはサービスをテストし、及び設定された期間にわたって競争して、彼らがその事前構築されたソフトウェアで発見した欠陥を折り返し報告することができる。誰もがトップの有能なテスタと競争しており、及び現在のモデルの同一のポイントシステムを使用してスコア付けされる。プロセッサ２０２はまた、リーダボードランキング及びスコアを生成する。プロセッサ２０２は、製品またはサービスを定期的に変更して、新たな欠陥を取り入れても良い。次いで、テスタは、トップの有能なテスタに対してランク付けされ、及び今後のまたは現在の使用者にそれらのスキルを確認するためにそれらの結果を使用することができる。
【０１４７】
開示される方法及びシステムはチームの能力を駆り立てるために使用される。プロセッサ２０２は、追跡コードを製品の内部に埋め込み、及びテスタを追跡し、またはテストしている製品もしくはサービスの視覚的表示を取り込むことによってのいずれかで、テストされている製品またはサービスの物理的または仮想マップを構築しても良い。プロセッサ２０２は、何をテストしているかに応じて、種々の方法に基づいてテスタが製品またはサービスの周りを移動するときにテスタを追跡するが、位置、ＵＲＬ、映像または視標追跡を含むことができる。彼らが製品またはサービスの或るエリアに到達するときに、何が報告されたかにに基づいて、彼らがいったことがある所、彼らが製品またはサービスのどの部分をテストしたか、彼らがどのように他のテスタの能力と比較しているか、及びどのテスタが製品またはサービスのそれらのエリアを有しているかを示すことができる。テスタを製品もしくはサービスのテストされていないエリアに案内し、またはさらなるテストが必要な製品もしくはサービスのエリアにテストディレクタを通知するために、リアルタイムの警告が生成されることができる。テスタ及び管理者は、マップをリアルタイムで参照することができ、及び製品またはサービスをナビゲートする方法としてマップを使用することができる。
【０１４８】
各々のテスタの動作は、映像によって個々に記録され、テスタが欠陥を報告するとき、欠陥が報告された映像の時刻を記録する。障害が識別されるとき、システムは、タイムスタンプのような障害の位置を記録し、例えば、ＵＲＬまたはウェブアドレスを収集する。実際の世界のテストについて、地理的位置が使用されても良く、Ｇｏｏｇｌｅグラスを使用して映像が取得されても良く、及び地理的マッピングを使用して、それらの物理的位置に基づいて、それらの欠陥をマッピングすることができる。クライアントは、欠陥のリストをタイムラインまたは再生リスト（ｉＴｕｎｅｓの曲のリストのような）で提示され、彼らが各々の欠陥をクリックするとき、顧客を映像における時間のポイントに直接案内し、よって、彼らは、欠陥の映像を容易に再生し、及び非常に短い時間で誤りをレビューすることができる。プロセッサ２０２はまた、アプリケーションにおける誤りのアドレスを示し、また誤りが発生したコードにおけるエリアを表示し、レビュー及び修正することをより容易にする。これはまた、他のチームメンバと欠陥を共有することを容易にする。
【０１４９】
図１３は、テスタが、捕捉された映像とともにバグを提出することを可能にする別のユーザインタフェース１３００を示す。上記実施例の一部が第三者ソフトウェアモジュールを統合しているが、図１３の実施例は、テスタがコンピュータにダウンロード及びインストールすることができるアプリケーションを報告するモノリシックソフトウェアとして実装されても良く、それは、図２におけるコンピュータシステム２００と同様の構造を有し、報告アプリケーションがプログラムメモリ２０４にインストールされている。いくつかのシナリオでは、例えば、実世界で、異なる種類の技術プラットフォームまたはテスト製品もしくはサービスの下でテストするとき、テストが実行されるのと同一のプラットフォーム上でスクリーンキャプチャ映像を記録することは困難であることがあり、Ｇｏ−ＰｒｏカメラまたはＧｏｏｇｌｅグラスなどの他の技術が使用されても良い。
【０１５０】
図１４は、この問題に対処するためのコンピュータネットワーク１４００を示す。テスタは、製品またはサービスをテストコンピュータシステム１４０２上でテストし、テストコンピュータシステム１４０２は、Ｂｌｕｅｔｏｏｔｈ（登録商標）またはＷｉｆｉアダプタを、映像データを送信する出力ポートとして使用するなどで、無線接続１４０６を介してスクリーンを報告コンピュータシステム１４０４に複製する。ユーザインタフェース１３００を生成する報告アプリケーションは、報告コンピュータ１４０４のプログラムメモリにインストールされ、及び報告コンピュータ１４０４のプロセッサによって実行される。報告コンピュータは、第１のコンピュータシステムから製品またはサービスとのテスタの対話を表す映像データの連続したストリームを受信するための、ＷｉｆｉまたはＢｌｕｅｔｏｏｔｈ（登録商標）アダプタなどの入力ポートを含む。報告コンピュータ１４０４は、映像データを記憶するためのデータストアを含み、報告ソフトウェアは、複製された映像を連続して受信し、及び、ハードディスクまたはクラウドストレージなどのデータストアに記録する。
【０１５１】
テスタが障害を識別するとき、テスタは、テストプラットフォーム１４０２または報告プラットフォーム１４０４のいずれかの制御ボタン「報告バグ」を活性化し、それは、報告プラットフォームにユーザインタフェース１３００を生成させ、テストプラットフォーム１４０２の複製されたスクリーンの連続した記録を停止させる。
【０１５２】
報告コンピュータ１４０４のプロセッサは、ディスプレイデバイス１４０８に表示されるユーザインタフェース１３００を生成する。ユーザインタフェース１３００は、図６を参照して説明される入力要素を含む。加えて、ユーザインタフェース１３００は、テストプラットフォーム１４０２のスクリーンの映像を表示する映像パネル１３０２を含む。テスタは、ユーザ制御要素１３０６に、製品の欠陥のある振る舞いの開始まで映像を巻き戻しさせることができる。言い換えると、ユーザ制御要素１３０６によって、テスタは、記録された映像データのセグメントの開始時間を設定することが可能になり、それによって、テスタが障害を識別する間にセグメントが製品またはサービスとのテスタの対話を表すようになる。このようにして、テスタは、映像のどの部分が障害を識別及び修正することに関連するかを示すための時間を設定することができる。映像の連続した記録の結果として、テスタは、いくつかの障害に対して困難となることがある、報告の目的で障害を複製する必要がない。
【０１５３】
報告コンピュータ１４０４は、割り込みなどをトリガすることによってなど、ユーザインタフェース１３００によって呼び出されるイベントハンドラによって制御されて、ユーザインタフェース３００から値を読み取り、ならびに障害記述、開始時間及び他の値をプロセッサに提供する、データポートなどの、プロセッサのユーザ入力ポートを含む。
【０１５４】
テストコンピュータ１４０４はさらに、インターネットに接続されたＬＡＮまたは他のネットワークインタフェースなどの出力ポートを含む。テスタが「提出バグ」ボタン６２６をクリックするとき、報告コンピュータ１４０４のプロセッサは、含まれるそれらの値を有するＸＭＬファイルまたはメッセージを送信することによってなど、製品またはサービスと関連付けられ、及びテスタ識別子と関連付けられた障害記述及び開始時間をテストサーバ１２に送信する。報告コンピュータ１４０４はさらに、映像記録が停止された時間を記憶しても良く、及びこの時間を、この特定の障害の識別を示すセグメントの終了時間としてサーバ１２に送信しても良い。このようにして、テスタは、報告工程に関して懸念されることなく障害を引き起こすための一連の動作を行うことができる。次いで、テスタは、「障害識別」をクリックすることによって報告工程を活性化することができ、及び障害を示す最も適切な位置に映像を巻き戻すことができる。
【０１５５】
テスタが障害を提出することを可能にする、以下のユーザインタフェースの異なる組み合わせが可能であっても良いことに留意されたい。
−提出フォーム６００のみ、
−提出フォーム６００及び図１３００にある映像、または
−提出フォーム６００及び図１３００にある映像とともに、図９におけるコードウインドウ９０４と同様のコードウインドウ。
【０１５６】
報告ソフトウェアプログラムを使用するとき、テスタは、図６を参照して説明したように参照ＵＲＬを報告フォームにペーストすることなく、映像参照を有する障害を提出することができることにさらに留意されたい。報告ソフトウェアは、映像データをクラウドストレージサーバに記憶しても良く、クラウドストレージサーバによって、テスト工程全体の映像記録全体に対する単一のＵＲＬであるＵＲＬ、及び／または報告された欠陥ごとの複数のＵＲＬを通じて映像データにアクセスすることが可能になる。報告コンピュータ１４０４が開始時間をサーバ１２に送信するとき、報告コンピュータはまた、ＵＲＬを映像に送信しても良い。しかしながら、報告コンピュータ１４０４は、映像のＵＲＬが識別された障害に対して特定のものではないので、テスト工程全体の開始または終了時に映像のＵＲＬを送信しても良い。
【０１５７】
提案されたシステム及び方法は、コンテンツのテスト、ユーザのテスト、アクセシビリティのテスト、ユーザ経験のテスト、機能的テスト、検索エンジン最適化のテスト、クロスブラウザのテスト、ベータテスト、ユーザビリティのテスト、セキュリティのテスト、手動テスト、ソフトウェアのテスト、負荷テスト、ブラックボックステスト、ユーザ受け入れテスト及び性能テストに等しく適用可能であることに留意されたい。
【０１５８】
上記実施例が、障害を識別することを参照して説明されたが、能力データ及びプロジェクトの特性に基づいてチームを識別する処理は、上記説明されたように、サーチャのチームを選択し、及びユーザインタフェースを介して検索結果記録を受信するために等しく適用されても良い。
【０１５９】
以下の非限定的な記述は、上記開示と関連して提供される。
【０１６０】
記述１：ソフトウェアのテスタのスキルセットを評価及び定量化する方法であって、
評価のためにアプリケーションをソフトウェアのテスタから受信することと、
前記ソフトウェアのテスタによる完了に対して少なくとも１つの評価テストを構成することであって、前記少なくとも１つの評価テストは、前記ソフトウェアのテスタの特定のスキルをテストするように構成される、ことと、
前記少なくとも１つの評価テストを行うことと、
前記少なくとも１つの評価テストに対する結果を前記ソフトウェアテストから収集することと、
前記少なくとも１つの評価テストで検出された障害の数に基づいて、前記結果を定量化することと、
前記ソフトウェアのテスタのプールに対して前記ソフトウェアのテスタをランク付けすることと
を備えた、方法。
【０１６１】
記述２：ソフトウェアアプリケーションの障害を識別する方法であって、
評価のためにソフトウェアアプリケーションを受信することと、
記述１の前記方法で得られた前記ランク付けに基づいて、ソフトウェアのテスタのチームを識別することと、
障害の存在に対して前記ソフトウェアアプリケーションに評価するために、ソフトウェアのテスタの前記チームのアクセスを前記ソフトウェアアプリケーションに提供することと、
ソフトウェアのテスタの前記チームの能力を記録して、前記ソフトウェアアプリケーションに存在する障害を識別することと、
前記ソフトウェアアプリケーション内に存在する障害を識別するそのソフトウェアのテスタの能力に基づいて、ソフトウェアテスタの前記チームにおける各々のソフトウェアのテスタに報酬を与えることと
を備える、方法。
【０１６２】
特許請求の範囲で定義されるような範囲から逸脱することなく、多くの変形及び／または修正が特定の実施形態に対してなされても良いことを当業者によって理解されよう。
【０１６３】
本開示の技術が様々な技術を使用して実装されても良いことを理解されるべきである。例えば、本明細書で説明された方法は、適切なコンピュータ可読媒体に常駐する一連のコンピュータ実行可能命令によって実装されても良い。適切なコンピュータ可読媒体は、揮発性（例えば、ＲＡＭ）及び／または不揮発性（例えば、ＲＯＭ、ディスク）メモリ、搬送波及び伝送媒体を含んでも良い。例示的な搬送波は、ローカルネットワークまたはインターネットなどの公衆にアクセス可能なネットワークに従ってデジタルデータのストリームを搬送する電気、電磁気または光学信号の形式をとっても良い。
【０１６４】
以下の議論から明らかなように特に他のことが述べられない限り、記述全体を通じて、「ｅｓｔｉｍａｔｉｎｇ」、「ｐｒｏｃｅｓｓｉｎｇ」、「ｃｏｍｐｕｔｉｎｇ」、「ｃａｌｃｕｌａｔｉｎｇ」、「ｏｐｔｉｍｉｚｉｎｇ」、「ｄｅｔｅｒｍｉｎｉｎｇ」、「ｄｉｓｐｌａｙｉｎｇ」、または「ｍａｘｉｍｉｓｉｎｇ」などの用語を利用した議論は、コンピュータシステム、コンピュータシステムのレジスタ及びメモリ内の物理（電気）量として表されるデータを処理し、及びコンピュータシステムメモリ、レジスタ、他のそのような情報ストレージ、伝達装置、もしくはディスプレイ装置内の物理量として同様に表される他のデータに変換する同様の電子コンピューティングデバイスの動作及び処理を指すことが明白であることが、また、理解されるべきである。
【０１６５】
したがって、本実施形態は、例示的であり、かつ非限定的なものと考えられる。
【図１】
2017514241.tif 000005
【図２】
2017514241.tif 000006
【図３】
2017514241.tif 000007
【図４】
2017514241.tif 000008
【図５】
2017514241.tif 000009
【図６】
2017514241.tif 000010
【図７】
2017514241.tif 000011
【図８】
2017514241.tif 000012
【図９】
2017514241.tif 000013
【図１０】
2017514241.tif 000014
【図１１ａ】
2017514241.tif 000015
【図１１ｂ】
2017514241.tif 000016
【図１２】
2017514241.tif 000017
【図１３】
2017514241.tif 000018
【図１４】
2017514241.tif 000019
【国際調査報告】
2017514241.tif 000020
2017514241.tif 000021
2017514241.tif 000022
2017514241.tif 000023
2017514241.tif 000024
2017514241.tif 000025