レスポンスタイム(応答時間)
・オンラインシステムの性能指標
ターンアラウンドタイム
・バッチシステムの性能指標
スループット
・処理能力は、データ量や命令数を利用
・オブジェクトの仕様を形式的に表現するアサーション(=表明)という考えを取り入れる
・アサーションを満たすことができなかった場合は、例外を投げる
・事前条件、事後条件、不変式の3つのアサーションを使用する
・事前条件は、操作を実行するために必要な条件を定義する
・事後条件は、操作の実行により起こる結果を定義する
1. 参照カウンタ方式
・オブジェクトを参照している数をカウントして
参照数が、ゼロになると、メモリから解放する。
・孤立した循環参照があると参照数がゼロとならず
メモリリークが発生する。
2.マーク&スィーブ方式
グローバルオブジェクトから到達不可能なオブジェクトを
メモリから解放する。
公開されている
Testing of mobile applications. A review of industry practices
のキモ部分を読んで勉強してみたいと思います。
概要
目的
モバイルアプリケーションのテストに関してのリサーチである。
方法とツールについて、実際の企業での利用を調べる。
方法
リテラル・レビューとリサーチである。
はじめに
ソフトウェアのテストは、期待される結果と実際の結果を
比較するもの。ソフトウェアのテストには、セキュリティ、
信頼性、正確性などが含まれる。
この論文は、モバイルアプリケーションのテストに関するもの。
モバイルアプリケーションには、ネイティブなものと、
Webアプリケーションを含む。
次のようなリサーチ・クエスチョンを調べる。
・モバイルアプリケーションのテストの方法
・モバイルアプリケーションのテストにおける困難さ
・困難への企業への対応
伝統的なソフトウェアのテストとモバイルアプリケーションのテスト
の違いは、次である。
(1) モバイルアプリケーションでは、開発者は、OSの違い
ディスプレイサイズの違い、パフォーマンス、バッテリーなど
を考慮しなければならない。
(2) スマートフォンは、キーボード、音声など、
様々な入力方法をサポートしている。
アプリケーションもそれを考慮しなければ、ならない。
(3) モバイルサービスは、3G、4G、Wi-Fiなど様々な通信環境を
サポートしている。モバイルアプリケーションは、これを考慮しなければ
ならない。
(4) モバイルデバイスは、多様で、それぞれテストが必要となる。
これには、シミュレータが用いられることが多い。
また、次のような制約がある。
リソースの制約、センサーなどのデバイス、新しいGUIなど。
また、中断時のテスト、インストールのテストなども必要である。
モバイルのソフトウェアのテストに関する問題は、
デバイスの多様性に関するものが多い。スクリーンサイズ、解像度、
メモリサイズ、色々なネットワーク環境のサポートなどである。
RELATED WORK
テストの分類を以下に示す。
・ホワイトボックステスト
プログラムのソースコードに基づいてテストする。
・ブラックボックテスト
内部の構造は考慮せずにテストする。データが正しく処理されるか、
など。
・ユーザビリティテスト
ユーザのエクスペリエンスに関して、欠陥や改善点を見つける
・Quality of Service テスト(QoSテスト)
パフォーマンス、信頼性、可用性などを確認する。
モバイルアプリケーションに関しては、ネットワークの影響が大きい。
モバイルアプリケーションでも、ユニットテスト、結合テスト、システムテスト
が行われることが多い。
総当たりアルゴリズム すべての場合をためし、解を求める。 近似アルゴリズム ・正解に近い解を探す ・正解との誤差がある範囲におさまると保証されているものを 精度保証付アルゴリズムという。 ・精度の保証のないアルゴリズムを、発見的手法(ヒューリスティック) という。