#18 テストとは

サマリ

想定読者:業界・バズワードに興味がある方 / 想定時間:20分~25分程度
 第18回目のテーマは、テストについて取り上げます。


#1 単体テスト:単体で基板の動作を確認

 前回の記事からの続きになっていますので、まだご覧になっていない方はぜひご覧ください。
前回基礎的なチェックは実施していますので、さっそく電源周りの回路から徐々に投入してチェックを実施します
 ポイントは”徐々に投入”という部分です。いきなり全ての回路に電源を入れると、もし不具合があった際に原因追及に時間がかかってしまうことや、最悪の場合には破損するなど手遅れになってしまうことも考えられますので、ひとつづつ確認しながら徐々に通電させていきます。このために、回路にはあらかじめ各電源回路の出力先に0Ω(オーム)抵抗などを仕込んでおきます。初号機はその抵抗を全て外し、上段の回路から電源電圧をチェックし、問題が無ければ徐々に下流の抵抗をつけて通電していく流れでチェックします。

 無事に全電源問題ないことが確認できれば、実際に各回路へ供給します。まだプログラムが書かれていない状態により、メインのICや周辺とのIF通信は当然動きません。その状態でも電源供給すれば動くような受動素子をチェックします。(例:プルアップ抵抗や周辺回路のICならば動きますので発振回路が動いているかなど)

 ここまでのチェックにより電源投入しても壊れないことが確認できたので、次は電源投入/遮断を繰り返して、各回路の電源の起動シーケンスを確認します。この時点でも、まだメインのICは動作しないので、実際の負荷がかからず、あくまで概算にはなりますが、それでも仕様内に収まっているか簡易チェックを行います。これを経て、起動シーケンスが問題なければ立ち上がる状態が担保されていますので、ようやくメインのICへプログラムを書き込みます

#2 総合テスト:ソフト絡めた複合的な動きを確認

 メインのICにプログラムが書かれたことで、各通信回路が動作する状態になります。ただし、書き込み直後は特に初期不良が出ますので、その都度一緒になって考えます。実例だと、例えば各ICと通信する際の初期設定のレジスタ値が間違っていたり、周辺回路のプルアップ/プルダウン抵抗が逆になっていたなど回路自体の問題であることもありました。

 動いてそうな感触が確認できれば、その後は設計仕様通りのIF通信ができているかオシロスコープなどを使い確認します。通信規格は定まっていますので、その通信に合わせたハンドシェイクやデータの読み書きが正常に行われているかをチェックします。
 その後、設計ドキュメント通りにメインのICが振舞うかを確認します。上記のように文面としては簡単に見えますが、ここがテスト期間の9割を占める大変な作業です。
 何が大変かというと、不具合の原因がハードウェア/ソフトウェアどちらの問題かの究明が難しいです。ハードウェア担当としては実機での確認は状態に合わせて光らせるLEDやオシロスコープによる信号波形のみですので、仮に不具合の動作を見つけてもなぜそうなっているかの分析はかなり厳しいです。一方、ソフトウェア担当としてはレジスタの更新などを見ながら状態遷移を逐一チェックしますが、膨大な量によりどこに不具合があるのか特定することが難しいです。このため、当たり前ですが動作不良があれば人のせいでなく、全チーム一丸となって対応することが強く求められます。
 余談ですが、上記より両方の知識を持っている方がかなり重宝されることは想像に難くないと思います。ただし、反面でトラブル案件のトラブルシューティング(火消し係)をお願いされることが多くなります。こういったエースは大抵疲れた目をしています。

 さて、上記のようなチェックを経て、全部動作した段階で、環境試験など仕様・規格に応じたテストを実施します。例えば、温度を0℃~75℃まで変化させても動作不良を起こさないか、落下試験を実施して損傷がないか、などです。加えて、もし正式に規格に適合させるためには(シールを張るためには)与えられた規格による通信チェックなどを実施し、エビデンスを残すなども最終に近いフェーズで実施します。

#3 顧客前で最終テスト

 自社の環境内で全ての動作確認が完了次第、顧客に実機を触ってもらい最終チェックを実施します。この時、顧客が初めて触るケースもありますので、要件はもちろんのこと(暗に思っている)要求通りかも合わせて確認します。
 例えば、”立ち上がりを10秒以内とする”として、そのように設計したとします。その場合でも、実際に触った際に意外と遅いと顧客が感じた場合には、次回は”8秒の仕様にする”など申し送り事項が出ることもあります。より顧客のイメージにフィットした製品を開発するためにも、顧客と実機を触りながら感触を伺うことが大切です。

 これらを経て、総合的に問題が無ければ最終判定を頂きます。この判定は、検収資料へのサインや議事録などで済ませる場合もあります。(もちろん企業間の契約書類は別途完了させます) この書類を以って設計業務が無事完遂したことになるので、ようやく一息つける状態になります。

 しかしながら現実は甘くなく、想像もしない不具合が出て焦ることも多々あります。特に検証環境の違いによる電源の違いやノイズの違い、搬送中のトラブルなど様々な原因が重なり、当日に限って動作が不安定になったりします。顧客前なので内心かなり焦ってますが、もちろん表向きには冷静に原因を分析して、もし現場で対処できない場合には、一度持ち帰って部分的に対策して直ぐに再検証の機会を頂くなど調整を実施します。

 この回を以って設計プロセスを一通り眺めることができました。各タスクの詳細については、また別記事で深堀していきたいと思います。