2008-12-31

Postal Search Ajax API の Test Suite を公開します

おはようございます。なかじまんです。Postal Search Ajax API Test Suite を公開します。

Postal Search Ajax API Test Suite は、Postal Search Ajax API をリリースするためのテスト環境とテストケース群です。それぞれ aquilegia さんが開発してくれました。ありがとうございます。

Postal Search Ajax API も改良を進めてきた結果、それなりの規模になってきました。そのため、ソースコードの根本的なところに手を入れると、どんな影響があるか手軽に確認しにくくなってきました。また、現在は、次世代ブラウザの多様化や端境期ということもあり、各ブラウザ上でのテストのバリエーションが増大してきました。という背景から、Postal Search Ajax API Test Suite という形で、テストを自動化するに至った次第です。

Postal Search Ajax API Test Suite を開くと、すぐにテストがはじまります。そして、次のように、テストの内容と結果をリスト表示していきます。グリーンはテストが成功したことを表しています。



レッドはテストが失敗したことを表します。合わせて、テストが失敗した条件や事由を表示します。↓スクリーンショットのエラーは Opera 固有の振る舞いにより、期待する結果にならなかったことを示しています。



Postal Search Ajax API は、script 要素を使って動的に JavaScript をロードする仕組みを使っていますが、ローカルファイル(file プロトコル)からのロードは、ブラウザのセキュリティモデルに依存するため、テストケースから除外しています。input 要素の type="file" の value なども同様です。

Postal Search Ajax API は、非同期の API で、背後でタイマを使っていることもあり、低スペックの PC だとタイマの誤差により、テストが失敗することがあります。また、ネットワークの帯域などその状況にも左右されて、テストが失敗することがあります。

安定したテスト環境を用意したり、Mock 的なアプローチを導入して、インタフェースのみをテストするという方法もありうるのですが、やはり、リリース後と同じ状況でテストするべきという目的は譲れないため、不安定な部分も残しつつも公開しました。ですので、個別の事象や不都合は、少しずつよくなるよう改善を進めていきます。

Postal Search Ajax API Test Suite は、aquilegia さん作の Ael という JavaScript ライブラリ で構築されています。Ael がどういうものか、その概要は把握しているのですが、どのようにして、テスト環境を構築して、テストケースを動作させているのかは、わたしも未知です。これから覗いてみます。そのうち aquilegia さんが説明してくれると、勝手に期待しています。

0 件のコメント: