(57)【要約】【課題】少ない試験項目で効果的に不具合を検出することの可能なソフトウェア試験方法を提供する。【解決手段】システムが備えている検査項目を策定するステップ(S1)と、ソフトウェアの試験手順に対応するシステムの操作を因子としてフローグラフを作成するステップ(S2)と、因子の分岐条件を満たすシステムの操作条件を因子の水準とする水準表を作成するステップ(S3)と、フローグラフから因子が遷移する経路を抽出するとともに、遷移する経路に対応する分岐条件及び期待値を定義するステップ(S4)と、分岐条件により発生する因子間の遷移条件組合せを直交表にて抽出するステップ(S5)と、直交表に基づいて試験を行い、定義された期待値が得られるか否かを確認するステップ(S6)とを備える。【選択図】図２
2010191899.tif 000002
【特許請求の範囲】
【請求項１】
組み込み系のソフトウェアを備えたシステムの仕様情報に対する期待値を評価するソフトウェア試験方法において、
前記システムが備えている検査項目を策定するステップと、
前記ソフトウェアの試験手順に対応する前記システムの操作を因子としてフローグラフを作成するステップと、
前記因子の分岐条件を満たす前記システムの操作条件を前記因子の水準とする水準表を作成するステップと、
前記フローグラフから前記因子が遷移する経路を抽出するとともに、該遷移する経路に対応する前記分岐条件及び期待値を定義するステップと、
前記分岐条件により発生する前記因子間の遷移条件組合せを直交表にて抽出するステップと、
前記直交表に基づいて試験を行い、定義された前記期待値が得られるか否かを確認するステップと、
を備えたことを特徴とするソフトウェア試験方法。
【請求項２】
さらに、前記因子は試験環境を含むことを特徴とする、請求項１に記載のソフトウェア試験方法。
【請求項３】
さらに、前記水準は前記システムを構成する部品スペックの相関値を含むことを特徴とする、請求項１に記載のソフトウェア試験方法。
【請求項４】
前記システムは車両であることを特徴とする、請求項１乃至３のいずれかに記載のソフトウェア試験方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェア試験方法に係り、詳しくは効果的にソフトウェアの不具合を検出するソフトウェア試験方法に関するものである。
【背景技術】
【０００２】
ソフトウェア試験の目的は、様々な入力信号に対してソフトウェアの制御内容が仕様情報と一致していることを確認することである。このように、仕様情報に着目してソフトウェア試験を行う場合、ソフトウェア全体を網羅的にカバーする組合せ試験を、プログラムの内部構造には関係なく外部から見て仕様情報通りの機能を持っているか否かを確認するブラックボックステストのテスト手法で実施することが必要となる。
【０００３】
しかしながら、無条件に機能の組合せ試験を実施しようとすると、機能の数により試験項目数が指数関数的に増加してしまうという問題がある。例えば、ＯＮ、ＯＦＦの２つの入力信号を持つ機能が１５種類あるとすると、試験項目数は２１５＝３２７６８個となる。このような数の試験項目を全て試験しようとすると膨大な工数を要することとなり、現実的ではない。
【０００４】
この点に関し、仕様情報から試験項目を抽出し、直交表を用いて試験項目の組合せを最適化することにより最低限の試験項目を生成する技術が知られている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−２４９８２６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
車両に搭載される電子プラットフォームに関してはソフトウェアの仕様情報から論理展開された試験項目を作成する必要があるが、この際に、入力信号に対する試験手順の遷移経路を明確にする必要がある。
しかしながら、上記特許文献１に開示された従来技術では、直交表を使用して組合せを最適化しているものの、試験手順の遷移経路は直交表に反映されないという問題がある。
【０００７】
また、上記特許文献に示されるように、ＵＭＬのアクティビティ図によって記載された仕様情報から試験項目を生成することは可能であるが、仕様情報としてアクティビティ図を使用していない場合には不適である。
本発明は、上述した課題を解決すべくなされたものであり、その目的とするところは、少ない試験項目で効果的に不具合を検出することの可能なソフトウェア試験方法を提供することにある。
【課題を解決するための手段】
【０００８】
上記の目的を達成するべく、請求項１のソフトウェア試験方法は、組み込み系のソフトウェアを備えたシステムの仕様情報に対する期待値を評価するソフトウェア試験方法において、前記システムが備えている検査項目を策定するステップと、前記ソフトウェアの試験手順に対応する前記システムの操作を因子としてフローグラフを作成するステップと、前記因子の分岐条件を満たす前記システムの操作条件を前記因子の水準とする水準表を作成するステップと、前記フローグラフから前記因子が遷移する経路を抽出するとともに、該遷移する経路に対応する前記分岐条件及び期待値を定義するステップと、前記分岐条件により発生する前記因子間の遷移条件組合せを直交表にて抽出するステップと、前記直交表に基づいて試験を行い、定義された前記期待値が得られるか否かを確認するステップと、を備えたことを特徴とする。
【０００９】
請求項２のソフトウェア試験方法では、請求項１において、さらに、前記因子は試験環境を含むことを特徴とする。
請求項３のソフトウェア試験方法では、請求項１において、さらに、前記水準は前記システムを構成する部品スペックの相関値を含むことを特徴とする。
請求項４のソフトウェア試験方法では、請求項１乃至３において、前記システムは車両であることを特徴とする。
【発明の効果】
【００１０】
請求項１のソフトウェア試験方法によれば、システムの操作を因子としてフローグラフを作成し、当該フローグラフの分岐条件から水準表を作成し、フローグラフから遷移経路を作成して直交表を用いて各因子間の遷移条件の組合せを抽出する。
これにより、直交表を用いることで試験精度を保持したまま試験項目数を減らすことができ、効率的にソフトウェアの不具合を検出することができるので、ソフトウェア試験に要する工数を削減することができる。
【００１１】
また、フローグラフを使用することにより試験手順を直交表へ反映させることができるので、試験手順が明確になり、ソフトウェア試験対象とする機能を明確にすることができる。
さらに、フローグラフの分岐条件を満たすシステムの操作条件が水準となるので、直交表にそのまま割り付けることができ、直交表の作成に要する工数を低減することができる。
【００１２】
そして、フローグラフから抽出した遷移経路を直交表へ割り付けることにより、仕様情報に対しパステスト法に基づくステートメントテスト及びブランチテストの網羅率を１００％にすることの可能な試験手順を得ることができる。
請求項２のソフトウェア試験方法によれば、因子には試験環境も含まれるので、試験環境を試験手順に盛り込むことができ、より確実に設定された試験環境で試験を実施することができる。
【００１３】
請求項３のソフトウェア試験方法によれば、因子が有する水準にシステムを構成する部品のスペックが含まれるので、ソフトウェア試験で使用する要素部品のスペックに対しても仕様情報を満たしているか否かを確認することができる。
請求項４のソフトウェア試験方法によれば、システムは車両であるので、車両を構成する各要素部品のスペックや車両操作に対するソフトウェアの制御がそれぞれ仕様情報を満たしているか否かを確認することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施形態に供試されるヘッドランプオートライト制御装置を備えた車両の概略構成図である。
【図２】本発明に係るソフトウェア試験手順作成ルーチンを示すフローチャートである。
【図３】本発明に係るヘッドランプオートライト機能のフローグラフである。
【図４】図３から抽出した遷移経路を示すフローグラフである。
【発明を実施するための形態】
【００１５】
以下、本発明の一実施形態について図面を参照しながら説明する。
本実施形態では、本発明に係るソフトウェア試験方法を車両の実車試験に適用した場合について説明する。
図１は、本発明の実施形態に供試されるヘッドランプオートライト制御装置を備えた車両の概略構成図が示されている。
【００１６】
車両１は当該車両１の制御の動力源となる電源をＯＮするＡＣＣスイッチ１０や、車両１に搭載されているエンジン１２を駆動させるイグニッションスイッチ１４が設けられている。
イグニッションスイッチ１４の近傍にはワイパースイッチ２０が設けられ、ワイパースイッチ２０は複数の操作態様を備えており、フロントウィンドウ（図示せず）にはフロントワイパー２２が配設されている。
【００１７】
イグニッションスイッチ１４の近傍にはオートライトスイッチ３０が設けられており、オートライトスイッチ３０をＯＮすることにより、例えばフロントウィンドウの上部に設けられているオートライトセンサ３２が動作する。
ＥＣＵ５０はＣＰＵやメモリ等（図示せず）からなり、詳しくはＥＣＵ５０の入力側にはＡＣＣスイッチ１０、エンジン１２、イグニッションスイッチ１４、ワイパースイッチ２０、オートライトスイッチ３０及びオートライトセンサ３２が接続されており、出力側にはフロントワイパー２２、オートライトセンサ３２及びヘッドランプ６０が接続されている。
【００１８】
ＥＣＵ５０は、ＡＣＣスイッチ１０、イグニッションスイッチ１４、オートライトスイッチ３０の操作を検知するとともに、ワイパースイッチ２０の操作態様によりフロントワイパー２２の駆動を制御する。そして、オートライトスイッチ３０の操作を検知するとオートライトセンサ３２を有効にする。また、ＥＣＵ５０にてエンジン１２の入力から走行距離を測定するとともに、オートライトセンサ３２の検出値が所定の照度以下と判定されるとヘッドランプ６０を点灯する。
【００１９】
以下、このように構成された本発明に係るＥＣＵ５０に含まれるヘッドランプオートライト機能のソフトウェア試験方法について説明する。
図２には本発明に係るソフトウェア試験手順作成ルーチンを示すフローチャートが示されており、同フローチャートに従い、途中図３、４に示すフローグラフを参照しながら説明する。
【００２０】
ステップＳ１では、ヘッドランプオートライト機能の検査項目を策定する。検査項目は多数存在するが、例えば以下の４項目が挙げられる。
（ａ）イグニッションスイッチ１４及びオートライトスイッチ３０がＯＮのとき、オートライトセンサ３２の出力値が０．７８Ｖ以下になってから１秒後または１００ｃｍ走行したらヘッドランプ６０をＬＯビームで点灯すること。
（ｂ）イグニッションスイッチ１４及びオートライトスイッチ３０がＯＮのとき、フロントワイパー２２駆動中はヘッドランプ６０をＬＯビームで点灯すること。
（ｃ）オートライトセンサ３２故障時はフェールセーフモードへ移行すること。
（ｄ）オートライトセンサ３２の出力値が４．７１Ｖ以上、または０．３Ｖ未満のときはフェールセーフモードへ移行すること。
【００２１】
本実施形態では検査項目（ａ）に基づいて説明する。
続くステップＳ２では、因子となる車両操作及び試験環境を抽出し、検査手順をフローグラフ化させる。
図３には上記（ａ）に示した検査項目をフローグラフ化させたものが示されている。
当該フローグラフはＳ（ＳＴＡＲＴ）因子Ｆ１０から始まり、当該Ｓ因子Ｆ１０には検査前の初期状態が定義される。そして、Ｅ（ＥＮＤ）因子Ｆ１８で終了となるが、当該Ｅ因子Ｆ１８には検査の最終出力が定義される。Ｓ因子Ｆ１０とＥ因子Ｆ１８を除いた７つの因子Ｆ１１からＦ１７には、各因子の車両操作または試験環境の成立または不成立について各因子の分岐条件として設定する。
【００２２】
詳しくは、Ｓ因子Ｆ１０となる車両状態はイグニッションスイッチ１４及びオートライトスイッチ３０がＯＦＦとなる。因子Ｆ１１は天候、因子Ｆ１２は試験環境、因子Ｆ１３はイグニッションスイッチ１４、オートライトスイッチ３０のスイッチ入力、因子Ｆ１４はフロントワイパー２２の操作態様、因子Ｆ１５はオートライトセンサフェール状態、因子Ｆ１６はオートライトセンサ３２のアナログ出力値、因子Ｆ１７は車両１の走行距離またはタイマの経過時間がそれぞれ定義される。そして、Ｅ因子Ｆ１８となる車両状態はヘッドランプ６０のＬＯビーム点灯である。なお、当該フローグラフの各因子を結ぶ実線の矢印は因子の分岐条件が成立する場合の経路であり、破線の矢印は因子の分岐条件が不成立の場合の経路をそれぞれ示している。
【００２３】
ステップＳ３では、フローグラフの遷移条件を満たす車両操作から水準表を作成する。
詳しくは、因子Ｆ１１から因子Ｆ１７にそれぞれ定義された車両操作の成立水準と不成立水準の２種類の水準表を作成する。このとき、上記ステップＳ２にて各因子に定義された成立条件や不成立条件を満たす車両操作条件は１つとは限らない。そこで、成立条件と不成立条件を満たす車両操作条件を全て水準表に定義する。
【００２４】
このように定義された成立条件を満たす水準表を下記表１、不成立条件を満たす水準表を下記表２にそれぞれ示す。
【００２５】
【表１】
2010191899.tif 000003
【００２６】
【表２】
2010191899.tif 000004
【００２７】
表１に示すように、車両操作を示す因子の各水準値は、いずれの水準を選択した場合でも成立するように設定する。また、アナログ値は検査項目に示されている閾値及び閾値の境界付近の値を設定する。当該境界値付近の値については、該当する車両操作に含まれる要素部品の分解能に応じて設定する。
同様に、表２に示されている車両操作を示す因子の各水準値は、いずれの水準を選択した場合でも不成立になるよう設定する。また、設定するアナログ値については表１と同様である。
【００２８】
表１、２にはスラッシュセルとハイフンセルが所々に示されている。当該スラッシュセルは各因子の車両操作が行われても状態としては変化しないことを意味しており、ハイフンセルは車両操作として起こりえない、或いは該当する車両操作が存在しないことを示している。
ステップＳ４では、フローグラフから遷移経路を抽出する。ここで全遷移経路を抽出する必要があるが、本実施形態では図４に示すように遷移経路Ｃ１０１及びＣ１０２のみ抽出する。ここで抽出した遷移経路がそれぞれ試験ケースとなる。
【００２９】
そして、抽出した遷移経路を満たすべく、各因子の分岐条件を成立または不成立のいずれかに設定するかを表にまとめる。また、各遷移経路に対する期待値を定義する。
詳しくは、遷移経路Ｃ１０１は最終出力であるＥ因子Ｆ１８に到達する経路であるので、期待値は「ヘッドランプＬＯビームを点灯すること」となる。また、遷移経路Ｃ１０２はＳＴＡＲＴ位置であるＳ因子Ｆ１０に戻る経路であるので、期待値は「ヘッドランプＬＯビームが点灯しないこと」となる。
【００３０】
遷移経路Ｃ１０１及びＣ１０２についてまとめた結果を表３に示す。なお、遷移経路Ｃ１０１及びＣ１０２は試験ケース番号としても利用する。
【００３１】
【表３】
2010191899.tif 000005
【００３２】
続くステップＳ５では、上記ステップＳ４で抽出した遷移経路に基づき、実際の試験手順を作成する。上記ステップＳ３で作成した成立水準表及び不成立水準表にあるように、因子によっては２つ以上の成立水準または不成立水準が存在する。従って、因子間の遷移条件の組合せが発生する。そのため、直交表を利用して当該遷移条件の組合せを抽出する。なお、上記表１、２に示すように水準数は最大４であることから、４水準の因子を設定可能なＬ１６直交表を使用する。
【００３３】
割り付けた試験ケースＣ１０１の直交表を表４、試験ケースＣ１０２の直交表を表５にそれぞれ示す。
【００３４】
【表４】
2010191899.tif 000006
【００３５】
【表５】
2010191899.tif 000007
【００３６】
表４、表５に示すように、直交表の各行は試験項目となる。従って、試験ケースＣ１０１、Ｃ１０２の試験項目数はそれぞれ１６項目となる。
ステップＳ６では、直交表に従い試験を実施する。
試験ケースＣ１０１は図４に示すように最終出力であるＥ因子Ｆ１８に到達する遷移経路であり、当該Ｅ因子Ｆ１８に至ったとき、表４に定義された１６項目全ての試験項目で期待値「ヘッドランプＬＯビームが点灯すること」の出力を得ることができれば、試験ケースＣ１０１は合格となる。しかし、１項目でも期待値の出力が得られなかった場合、試験ケースＣ１０１は不合格となる。
【００３７】
試験ケースＣ１０２は図４に示すようにフローグラフのＳＴＡＲＴの位置であるＳ因子Ｆ１０に戻る遷移経路であり、当該Ｓ因子Ｆ１０に至ったとき、表５で定義された１６項目全ての試験項目で期待値「ヘッドランプＬＯビームが点灯しないこと」の出力を得ることができれば、試験ケースＣ１０２は合格となる。しかし、１項目でも期待値が得られなかった場合、試験ケースＣ１０２は不合格となる。
【００３８】
このように、本発明に係るソフトウェア試験方法では、策定された検査項目から因子Ｆ１０から因子Ｆ１８を抽出し、検査手順をフローグラフで作成する。そして当該フローグラフの遷移条件を満たす車両操作から水準表を作成する。また、当該フローグラフから全ての遷移経路を抽出し、各遷移経路に対する期待値を定義する。当該遷移経路から発生する因子間の遷移条件組合せについて直交表を利用して抽出する。直交表の各行は試験手順となるので、各行の試験手順に従い試験を実施する。
【００３９】
従って、直交表を用いることにより試験精度を保ったまま試験項目数を削減することができ、且つ効率的にＥＣＵ５０を構成するソフトウェアの不具合を発見することができるので、ソフトウェア試験に要する工数を削減することが可能である。
また、フローグラフを使用することにより試験手順を直交表へ反映させることができるため、試験手順及び試験対象とする機能を明確にすることができる。
【００４０】
さらに、フローグラフの分岐条件を満たす車両操作条件及び試験環境条件が水準となるので、各因子に対する水準をまとめた水準表を作成することによりそのまま直交表へ割り付けることができるので、直交表の作成に要する工数を削減することができる。
また、フローグラフから遷移経路を抽出して直交表に割り当てることにより、仕様情報に対しパステスト法に基づくステートメントテスト及びブランチテストの網羅率を１００％にすることのできる試験手順を得ることが可能である。
【００４１】
また、因子Ｆ１１やＦ１２には試験環境が設定されていることから、直交表に割り付けたときに試験環境を試験手順に盛り込むことができるので、より確実に設定された試験環境で試験を実施することができる。
そして、因子Ｆ１６の水準にはオートライトセンサ３２の出力値についてオートライトセンサ３２の分解能を考慮して閾値及び閾値境界付近の値を設定しているので、車両１を構成する要素部品の分解能に対して要求事項を満足しているか否かを確認することができる。
【００４２】
また、試験対象システムは車両１であるので、車両１を構成する要素部品のスペックや車両操作に対するソフトウェアによる制御がそれぞれ仕様情報を満足しているか否かを確認することができる。
以上で実施形態の説明を終えるが、本発明は上述した実施形態に限定されるものではない。
【００４３】
例えば、上記実施形態ではＥＣＵ５０のヘッドランプオートライト制御装置のソフトウェア試験方法について述べているが、ＥＣＵ５０に備えられているソフトウェアに対して本発明は有効である。
また、上記実施形態では実車試験でのソフトウェア試験方法について述べているが、試験環境は特に問わず、試験の特性に合わせて選択可能である。
【００４４】
そして、上記実施形態では車両１に搭載されているＥＣＵ５０に対するソフトウェア試験方法について述べているが、組み込み系のソフトウェア試験であれば車両に限らず本発明を適用可能である。
【符号の説明】
【００４５】
１  車両
３０  オートライトスイッチ
３２  オートライトセンサ
５０  ＥＣＵ
６０  ヘッドライト
【図１】
2010191899.tif 000008
【図２】
2010191899.tif 000009
【図３】
2010191899.tif 000010
【図４】
2010191899.tif 000011