カット オーバー クライテリア。 テストエンジニアから見た人工知能(AI)のテストの一考察|実績・強み|ソフトウェアテスト・第三者検証のベリサーブ

カットオーバーとは

カット オーバー クライテリア

カットオーバークライテリア(移行判定基準) 開発中のシステムがどのような状態に達したら本稼働に移行するのかを定めた基準のこと。 この基準を満たして初めてシステムの利用が開始されるのです。 システム開発における卒業試験のような位置づけです。 本番稼働予定日から逆算し、カットオーバークライテリアをもとに稼働判定会議を行い、本番稼働の準備が十分にできているかの確認を行うのです。 カットオーバークライテリアに含まれる判断基準(例)• システムの稼働に必要なシステム開発・機器の設置が完了していること• システムの稼働に必要なシステムや機器のテストが実施され、品質基準を満たしていること• システムに移行するための準備やリハーサルが全て完了していること• システムを運用するために必要な業務手順書等の準備が完了し、必要な教育がされていること• システムを運用・保守をするための体制が準備されていること カットオーバーと同じような言葉 ローンチ 新しいシステムを使用開始するという意味では同じですが、どちらかというと新商品(新サービス・新システム)をお披露目するイメージです。 そのため、カットオーバーはバージョンアップのタイミングでも利用しますが、ローンチの場合、バージョンアップは新しい商品ではないため利用しません。 ロールアウト システムやサービスなどの運用を開始するタイミングを言う。 カットオーバーと似ていますが、ロールアウトは一部のユーザーにだけ提供しているようなパイロット環境から全員が利用できるように切り替えるタイミングを言われることが多い。 リリース リリースは、作った立場の人たちが納品先へ提供するタイミングを言います。 実際には、サービスなどを提供する場合、サービス継続して実施していくために、運用の体制や業務内容を決定する必要があります。 基本的には、サービスを構築している最中に詳細が決定していることが多いですが、準備ができていない場合、サービスの完成(リリース)とサービスの開始(カットオーバー)は別のタイミングになる場合があります。 また、システムの納品先が中間業者の場合、実際にサービスを運用するかどうかの判断は、中間業者が行います。 場合によっては、世の中にお披露目されないこともあります。 この場合、システムを作った立場では、「システムをリリースした」と言いますが、「システムがカットオーバーした」とは言いません。

次の

システム障害発生防止の決め手 「移行判定基準」|EY Japan

カット オーバー クライテリア

はじめに 人工知能(AI)によるシンギュラリティ(技術的特異点)の予測がされているが、すでに人工知能は産業界だけでなく一般社会生活でも利用され、その領域が拡大していることで、人工知能をテストするニーズが高まっている。 しかし、人工知能をテストする技術が確立されているかといえば、信頼がおける革新的なテスト技術は現在のところ見当たらない。 人工知能のテストをいかに考えればよいのか、テストエンジニアの知見を用いて考えてみる。 ただし、前提として人工知能のテストを論じる場合には、「Testing for 人工知能」か「人工知能 for Testing」、つまり「人工知能をテストする」のか「人工知能でテストする」のかを明示する必要があるが、今回は、「Testing for 人工知能」としテスト対象を人工知能としたケースについて述べる。 株式会社ベリサーブ 品質保証部 技術フェロー 佐々木 方規 ところで、テストを実現させるには、マクロな視野(俯瞰的に人工知能を捉えること)とミクロな視点(人工知能を細分化すること)を両立させる必要がある。 そこで、テストベースとして理解を深めるために、数名のテストエンジニアと議論を行ったが、人工知能を定義することの難しさが浮き彫りになった。 さらに人工知能の特徴は、利用する学習データの質に依存すると考える。 企業がビジネスをデジタル化するデジタルトランスフォーメーション(DX)の流れは、幅広く人工知能が利用されるであろう。 また、CDOは、企業のビジネスを加速させるため、自社のビジネスに IoT や人工知能を利用する取り組みを積極的に行っている。 人工知能をテストするためには、これらのステークホルダーのニーズに応える必要がある。 オラクルは、実在する(ベンチマーク用の)システム、他のソフトウェア、ユーザマニュアル、個人の専門知識の場合があるが、コードであってはならない。 JSTQB ソフトウェアテスト標準用語集(日本語版)Version 2. J02より• 人工知能の歴史を振り返る すでに人工知能は社会生活のさまざまなシーンでみられるようになってきている。 スマートフォンの音声認識や Google の「RankBrain」など人工知能ベースのアルゴリズムがインターネット検索で実用化されており、高度な自動運転への適用も進んでいる。 人工知能に対して造形を深めるために、少しだけ人工知能の歴史を振り返ってみる。 第1次ブームでは、コンピューターによる「推論」「探索」が中心であり、自然言語処理や機械翻訳の研究は進められたが、定理証明などの単純な問題しか扱えなかったため、社会の実環境での利用にはほど遠く、次第にブームが過ぎていった。 1980年代に入ると人工知能は、第2次ブームとなった。 人工知能に与える情報を形式化することで、専門分野の知識を取り扱うエキスパートシステムが登場した。 しかし情報の形式化を人が行わなければならず、膨大な情報を取り扱うことができないため、活用範囲を限定せざるを得なかった。 2000年代に入ると、インターネットが爆発的に普及し、携帯電話でデータ通信ができるようになったことに伴い、人工知能が「ビッグデータ」を活用することになる。 ここで注目されたのが機械学習(Machine Learning)であり、学習に人の介在を減らすことに成功した。 また、学習した知識から特徴的な要素を人工知能が自ら学習する深層学習(Deep Learning)も注目された。 第3次の人工知能ブームの到来であり、現在に至っている。 第1次、第2次が一過性のブームに終わった背景として、社会が要求する人工知能への期待が高く、現実との乖離が大きかったことが原因と推論されている。 これらを背景に人工知能のテストでも、現実と乖離がないことを追及していく必要がある。 何を対象とするのか、要求元とテスト担当者間でテストについての合意形成をすることが重要である。 しかし、テスト対象が人工知能の場合は、期待値を示すテストオラクルを用意することが困難である。 そもそも期待値など存在しないのではないかと考えている。 同じプロダクトの人工知能を利用しても、与えた学習データそのものや、そのデータの与え方で結果が異なる。 また、人工知能の利用者にとっては、人工知能からのアウトプットは想定した期待値のみを求めていない。 例えば検索処理であればヒット率の高い結果の順位よりは、検索者自身が本当に知りたい情報を求めている。 これらの検索結果は、検索者自身が気づいていない暗黙的な場合もある。 検索者自身が人工知能の推論結果を得ることで、本当に求めていた結果が想像していたものと異なったことに気が付くこともある。 これらはカットオーバー時のクライテリアだけを求めるような現在のテストの技術では対応が難しく、人工知能の特性に合わせたテストの進め方を構築していく必要がある。 (参照 図. さらに回答者によりこれらの定義に違いも見られた。 これら人工知能の定義の曖昧さもテストの課題と考えられる。 そこでイメージを形成しやすくするために人工知能の特徴的な行為を見ながら、本稿で取り扱う人工知能を絞り込んでみる。 それらはコンピューターであり、ロボットであり形態はさまざまであるが共通している点がある。 それは、人と人工知能がパートナーとして共存している点である。 本項では人工知能搭載システムは人の能力を補完していると考えて、人工知能搭載システムを知るために人をモデルに整理を行う。 現在の人工知能搭載システムは多くの技術によって構成され支えられているが、その必要でかつ代表的な技術をいくつかに分類してみる。 しかし、基本的に人工知能搭載システムの認識は、データによる分類となる。 例えば、人は猫の写真を見せると猫と認識するが、人工知能搭載システムは学習データから同じ特徴を持つデータ群を抽出するにすぎない。 これらの認識には人の記憶にあたるビックデータなどからの学習データに大きく依存する。 特に組込み製品に搭載されている人工知能はリアルタイム性が求められ、人を介在せずに制御が行われることも多い。 人工知能搭載システムが司ることは人と酷似しているが、得手不得手がある。 McCarthy and P. HayesSome philosophical problems from the standpoint of artificial intelligence, Machine Intelligence, vol. 4, pp. 463-502 1969 プロダクトとしての人工知能だけでなく 社会基盤のインフラとしての人工知能 高度な人工知能がさまざまなビジネスシーンで利用されることは、人が責務を持って判断してきたことを人工知能が変わって行うこと、そして社会がこれらの意思決定を受け入れる環境が整備されることが重要であると考える。 現在では、自動運転技術(運転支援技術)により交通事故が減少している。 すでに自動車保険の料率に運転支援システム搭載車両の有無が適用されている。 近未来で自律した高度な自動運転車が町中を走行していることは容易に想像ができる。 こうした環境下で事故が発生した場合に、社会が人工知能を冷静に受け入れるだけの状況になっている必要がある。 事故が発生した場合には、徹底的に事故解析しプロダクトとして人工知能の改善が図られ、社会に人工知能への落胆を生じさせてはならない。 社会的不安は人工知能への期待を衰退させ、第3次ブームの終焉につながる。 人工知能をテストすることは、社会的に影響を与えるリスクの検討もテストエンジニアに求められてくると感じている。 これらはプロダクトとしての人工知能をテストするだけでなく、人工知能と共存する環境まで考える必要がある。 人工知能に対する社会的な成熟度が向上することも必要であるが、テストエンジニアは人工知能の正しさでなく、人工知能によって操作された結果や導き出されたものの受け入れやすさを確認することが重要であると考える。 人工知能の役割や責務をテストするという考え方 ~捉え方とアプローチ~ 次に具体的にテストする時の考え方を示す。 極端ではあるが、人工知能として構成されるプロダクト全体をブラックボックスとして考えてみた。 処理の方法や構造が全く不明なブラックボックスのテストは IPO(Input Process Output)を利用して考える。 ブラックボックスでは Process(処理)は単なる変換処理とするが、その処理結果の Output(期待値)が人工知能では不定となる。 (図1) 図2. テスト視点の人工知能のイメージ これらを利用シーンで考えると、莫大な学習データから人工知能に推論を行わせる時、利用者が推論可能な結果だけであれば人工知能の利用価値は低い。 供給者はプロダクトの利用シーンを考え、利用者が利用価値を決める。 プロダクトの例を挙げて説明してみる。 お掃除ロボットの役割は人に代わって掃除することにあるが、責務としては人が掃除した場合と同等か、人に変わって掃除することでなんらかの価値をあたえることにある。 お掃除ロボットでは、効率よく掃除するために、掃除を行う範囲やホームベース(待機や充電などするための位置)を学習する。 学習データを利用することでさまざまなレイアウトにも対応でき、さらには無作為に掃除をすることがなくなる。 家具などを移動した場合も学習データを自立的に変更して掃除を可能にしている。 お掃除ロボットの場合は、掃除の順序を正確にトレースして実施することは価値にはならない。 人が掃除する場合でも、一方向でなく逆方向など、違う方向から掃除するときれいに掃除ができる。 学習データを利用して、できるだけ同じルートを通らないことで、異なる方向から掃除を可能にしている。 (図3) 図3. 配置を記憶することで、掃除する方向を変える 決められた処理を動作することが期待されているのでなく、人の手を介さず掃除を完了することが責務として期待されている。 製品(プロダクト)として人工知能のテストを考えた時は、ほとんどの場合、従来のテストプロセスやテスト技法を用いればよい。 しかし、人工知能の学習と推論を利用しているシステムとしてテストを考えた場合は、ユースケースシナリオの考慮を避けては通れない。 ユースケースシナリオには、人工知能が学習データを伴うことで成長することを考慮する必要がある。 成長のしかたは、利用シーンごとに異なり特定することは難しくテストを困難にする。 これら成長するシステムに対して、処理や振る舞いでなく役割と責務を定義するアプローチ方法を提案した。 これは人工知能の推論結果を期待値として扱うのではなく、受け入れられるかを判定することになる。 これらは繰り返し行われるインクリメンタル開発に近い。 しかし、インクリメンタル開発と大きく異なる点は、カットオーバーされた人工知能のシステムは、開発が継続して行われているとは限らない点である。 つまり開発期間中に将来の学習内容での変化を想定したテストが必要となる。 スパイラルフレームモデルは、学習データを段階的に成長させるように一連のユースケースシナリオを少しずつ変化させながら繰り返して行う。 一度に学習データを与えるのでなく、適切に分割した学習ゴールにしたがって成長過程の確認を行う。 開発中のテスト期間に成長過程を確認することで、学習データおよび学習方法の良し悪しを確認する。 いままでは、仕様に定義されていたフューチャや機能が満足していることがテストの目的であった仕様ベースのテストが主流で、フューチャや機能の期待値は仕様に定義され不変であった。 この考え方では学習したことによって変化する期待値をテストで考えることは困難である。 また、人工知能が人に代わって知的作業を行うことは社会生活が大きく変化することを意味する。 システムや製品のテストでは、利用者と供給者の関係を中心とした閉鎖的な環境条件であった。 人工知能や IoT でのビッグデータなどの利用は、システムの利用者以外とのつながりもあり、社会システムとしてオープンな環境条件を考慮しなければいけない。

次の

新感覚プロジェクトマネジメント

カット オーバー クライテリア

移行判定基準とは システム開発における「移行判定基準」とは、開発作業完了後、システムが確実に本番切替できるレベルに達しているかを確認・判定する規準のことです。 この規準には、システムが本番稼動後に安定して稼動できるかどうかを確認する多数の基準項目が体系的・網羅的に構成されています。 例えば、システムの品質、バグの収束状況、システムの利用者に対する操作教育や環境整備、本番稼動後の運用体制、保守体制などの確認基準項目があります。 金融機関や一般企業などの合併やシステム共有に伴うシステム統合の増加により、この移行判定基準の重要性が注目されるようになりました。 金融庁の「システム統合リスク管理態勢の確認検査用チェックリスト」にも、システムの移行判定に関しては「取締役会は、システムの移行判定基準を承認しているか」とチェック項目が明記され、金融機関のシステム統合には、移行判定基準が整備されていることが前提となっています。 システム移行の重要性 システム開発の最終ゴールはシステム移行であり、これにより旧システムから新システムに交代することになります。 ところが、この移行で失敗すると、大きなトラブルとなり、重要度の極めて高いシステムでは、社会に大きな影響を及ぼすことにもなりかねません。 システム移行とは、旧システムからデータなどを引き継いで、新システムに移行して、稼動させるだけですが、その作業はシステムが膨大になればなる程、複雑・困難を極めることになります。 データの移行だけでも、新システムに移行するデータを抽出して、新システムの仕様に適合するように、データ変換のアプリケーションシステムを事前に作成することが必要になる場合もあります。 しかも、日々稼動している情報システムであれば、これらの移行作業を短時間で遂行しなければなりません。 作業漏れや手順の間違いは、即、移行後の大きなトラブルにつながります。 ところが、このような移行作業の重要性は、あまり認識されていないようです。 一時的で1回限りの移行作業に対して、多くの企業はコストも工数も十分に割り当てない傾向があります。 続発したシステム統合のトラブル 2005年頃に頻繁に行われた市町村合併では、システム統合のトラブルが続発しました。 合併した市町村の約3割がシステム移行後に何らかの障害が発生したと報告しています。 トラブル原因は、データ移行の失敗、運用上のトラブル、ハードウェア障害、プログラムミスなどで、多種多様でした。 データに関しては、多くは市町村名変更などの検証不足によるものでした。 市町村合併は、規模の大きな市町村の既存システムに統合されるケースが多数でしたが、それでも作業は単純ではなかったようです。 トラブル発生の影響としては、住民票や証明書の発行が一時的にできなくなる現象が起きました。 公表されない移行判定基準 「業務・システム最適化指針(ガイドライン)」(各府省情報化統括責任者(CIO)連絡会議決定)においても、移行に関しては、移行判定を行うことが明記されています。 次期システムの安定稼動を確実に行うために、判定項目、移行判定基準等を作成の上、移行の可否を行うこととされています。 各省庁とも移行判定基準の普及に関する取り組みは真摯なものですが、この移行判定基準なるものが、まだ、どこからも公表されていません。 SIベンダーやシステム開発に強みのあるコンサルティング企業が、独自に開発して所有しているに過ぎないようです。 そのため、この規準の普及には弾みがつかないようです。 判定基準のポイント 移行判定基準を、各企業が独自に策定する場合、少なくとも次のようなことを十分考慮して、反映させておく必要があります。 (1) 本番システムの準備はすべて完了しているか。 (2) 本番リハーサルを実施し、問題点は発生していないか。 (3) 本番時と同一システムでテストが完了しているか。 (4) 本番環境とテスト環境との違いはないか。 (5) 予定された各フェーズおよび各種のテストは実施され、問題点はないか。 (6) トラブル発生時の体制、方針、手続は明確にされているか。 (7) バグの収束状況の判定結果は品質基準をクリアしたか。 本来、このようなことは、システム開発過程のプロジェクト管理において十分確認されているべきです。 ところが、開発管理が行き届いていなければ、当然実施される事項が進捗遅延やトラブル発生により未了のまま本番予定日を迎えたり、修正変更作業を安易に考えて確認が不十分なまま本番当日にトラブルを発生させたりすることもありえます。 そのためにも本番移行直前に開発したソフトウェアの品質と本番環境への適応性を十分に検証できる規準が必要になります。 さらに、新システムのカットオーバー(本稼動)の可否判断は、曖昧な規準でなされるべきものではなく、対象システムと環境に適合した規準を、システムテスト開始前までに準備しておく必要があります。 なぜなら、システムテスト時には、本番稼動に十分耐え得るかどうかの見極めを、開発者側の立場から、設定した規準に基づいて行うことが速やかな規準達成につながるからです。 移行判定基準の位置づけ 「新システムのカットオーバーは何年何月何日」と経営層が決定を下すと、これを撤回するのは至難の技となります。 また、多少困難と思われてもプロジェクト組織が大きければ集団心理が働き「なんとかなるだろう」という希望的観測に支配されることもあります。 プロジェクトマネージャにしろ、システム開発責任者にしろ、カットオーバー直前に「延期しましょう」と言えば、その責任が個人に問われ、不適格者の烙印も押されかねません。 このような事態を想定すれば、予め開発プロジェクトの方針や規程などに、移行判定基準の位置づけを明確にしておく必要があります。 移行後のトラブル発生というリスクを最大限に回避するには、移行判定基準に基づいて、客観的、科学的、総合的に判定して、移行の最終決定を下すのが最良の策といえます。

次の