お問い合わせ
お問い合わせ

Vector Informatik GmbH

Visitor Address: Holderäckerstr. 36

70499 Stuttgart

ドイツ

電話番: +49 711 80670-0

Fax番: +49 711 80670-111

E-Mailアドレス:

Address for Deliveries:
Motorstr. 56
70499 Stuttgart
Germany

Vector Informatik GmbH

Borsteler Bogen 27

Hamburg

ドイツ

電話番: +49 40 2020130-0

Fax番: +49 40 2020130-20

E-Mailアドレス:

Vector Informatik GmbH

Frankfurter Str. 286

38122 Braunschweig

ドイツ

電話番: +49 531 121990

Fax番: +49 531 12199 20

E-Mailアドレス:

Vector Consulting Services GmbH

Ingersheimer Str. 20

70499 Stuttgart

ドイツ

電話番: +49 711 80670 1520

Fax番: +49 711 80670 444

E-Mailアドレス:

Postal address:
Ingersheimer Str. 24

Vector Informatik GmbH

Philipp-Reis-Str. 1

76137 Karlsruhe

ドイツ

電話番: +49 721 91430 100

Fax番: +49 721 91430 101

E-Mailアドレス:

Vector Informatik GmbH

Otto-Hahn-Str. 20

85609 Aschheim

ドイツ

電話番: +49 89 94384220

Fax番: +49 711 80670-111

E-Mailアドレス:

Vector Informatik GmbH

Franz-Mayer-Str. 8

93053 Regensburg

ドイツ

電話番: +49 941 208650

Fax番: +49 941 20865 111

E-Mailアドレス:

Vector Informatik GmbH

Visitor Address: Holderäckerstr. 36

70499 Stuttgart

ドイツ

電話番: +49 711 80670 500

Fax番: +49 711 80670 555

E-Mailアドレス:

Technical Sales Embedded Software and AUTOSAR

Visitor Address: Holderäckerstr. 36

70499 Stuttgart

ドイツ

電話番: +49 711 80670 400

Fax番: +49 711 80670 425

E-Mailアドレス:

Vector Informatik GmbH

Visitor Address: Holderäckerstr. 36

70499 Stuttgart

ドイツ

電話番: +49 711 80670 200

Fax番: +49 711 80670-111

E-Mailアドレス:

Business hours: Monday to Friday from 8:30 am to 5:00 pm (CET/CEST).

Online: https://portal.vector.com

Vector Informatik GmbH

Visitor Address: Holderäckerstr. 36

70499 Stuttgart

ドイツ

電話番: +49 711 80670 5050

Fax番: +49 711 80670-111

E-Mailアドレス:

Vector Informatik GmbH

Ingersheimer Str. 24

70499 Stuttgart

ドイツ

電話番: +49 711 80670 5770

Fax番: +49 711 80670 333

E-Mailアドレス:

Vector Informatik GmbH

Visitor Address: Holderäckerstr. 36

70499 Stuttgart

ドイツ

電話番: +49 711 80670-5050

Fax番: +49 711 80670-111

E-Mailアドレス:

Vector Informatik GmbH

Visitor Address: Holderäckerstr. 36

70499 Stuttgart

ドイツ

電話番: +49 711 80670-0

Fax番: +49 711 80670-111

E-Mailアドレス:

Vector Informatik GmbH

Visitor Address: Holderäckerstr. 36

70499 Stuttgart

ドイツ

電話番: +49 711 80670 4618

Fax番: +49 711 80670 499

E-Mailアドレス:

Your contact:
Katja Hahmann
Manager Customer Projects for CANoe and automated Test Systems

Vector Informatik GmbH

Baierbrunner Str. 23

81379 Munich

ドイツ

電話番: +49 89 74 7377-0

Fax番: +49 89 74 7377-99

E-Mailアドレス:

Vector Austria GmbH

Millennium Tower, Etage 41
Handelskai 94-96

1200 Vienna

オーストリア

電話番: +43 1 90160 0

Fax番: +43 1 90160 35

E-Mailアドレス:

Vector Austria GmbH

Millennium Tower, Etage 41
Handelskai 94-96

1200 Vienna

オーストリア

電話番: +43 1 90160 55

Fax番: +43 1 90160 9955

E-Mailアドレス:

Vector Austria GmbH

Millennium Tower, Etage 41
Handelskai 94-96

1200 Vienna

オーストリア

電話番: +43 1 90160 40

Fax番: +43 1 90160 9940

E-Mailアドレス:

Vector Austria GmbH

Millennium Tower, Etage 41
Handelskai 94-96

1200 Vienna

オーストリア

電話番: +43 1 90160 0

Fax番: +43 1 90160 35

E-Mailアドレス:

Vector North America

39500 Orchard Hill Place
Suite 500

Novi, Michigan 48375

アメリカ合衆国

電話番: +1 248 449-9290

Fax番: +1 248 449-9704

E-Mailアドレス:

Operational sales automotive

Vector North America

39500 Orchard Hill Place
Suite 500

Novi, Michigan 48375

アメリカ合衆国

電話番: +1 248-449-9290, Option 3

Fax番: +1 248 449-9704

E-Mailアドレス:

Vector North America

39500 Orchard Hill Place
Suite 500

Novi, Michigan 48375

アメリカ合衆国

電話番: +1 248 449 9290 Option 1

Fax番: +1 248 449-9704

E-Mailアドレス:

Vector North America

39500 Orchard Hill Place
Suite 500

Novi, Michigan 48375

アメリカ合衆国

電話番: +1 248 449 9290 Option 2

Fax番: +1 248 449-9704

E-Mailアドレス:

Vector GB Ltd.

2480 Regents Court
The Crescent
Birmingham Business Park

West Midlands B37 7YE

イギリス

電話番: +44 121 788 7900

E-Mailアドレス:

VAT No.: GB 941 2528 36
Registered in England Number 06699692

Vector GB Ltd.

2480 Regents Court
The Crescent
Birmingham Business Park

West Midlands B37 7YE

イギリス

電話番: +44 121 788 7900

E-Mailアドレス:

Vector GB Ltd.

2480 Regents Court
The Crescent
Birmingham Business Park

West Midlands B37 7YE

イギリス

電話番: +44 121 788 7901

Fax番: --

E-Mailアドレス:

Vector GB Ltd.

2480 Regents Court
The Crescent
Birmingham Business Park

West Midlands B37 7YE

イギリス

電話番: +44 121 788 7900

Fax番: --

E-Mailアドレス:

ベクター・ジャパン株式会社

東京都品川区東品川2-3-12
シーフォートスクエア センタービル

〒140-0002

日本

電話番: +81 3 4586-1800

Fax番: +81 3 4586-1830

E-Mailアドレス:

ベクター・ジャパン株式会社

愛知県名古屋市中村区平池町4-60-12 グローバルゲート

〒453-6110

日本

電話番: +81 52 770 7170

Fax番: +81 52 770 7190

E-Mailアドレス:

ベクター・ジャパン株式会社

大阪府大阪市淀川区西中島 3-23-15 セントアーバンビル

〒532-0011

日本

電話番: +81 6 6829 6446

Fax番: --

E-Mailアドレス:

Vector Japan Co. Ltd.

東京都品川区東品川2-3-12 シーフォートスクエア センタービル

〒140-0002

日本

電話番: +81 3 4586 1800

Fax番: +81 3 4586 1830

E-Mailアドレス:

Vector Japan Co. Ltd.

愛知県名古屋市中村区平池町4-60-12 グローバルゲート

〒453-6110

日本

電話番: +81 52 770 7170

Fax番: +81 52 770 7190

E-Mailアドレス:

Vector Japan Co. Ltd.

Seafort Square Center Bldg.
2-3-12 Higashi-shinagawa, Shinagawa-ku

Tokyo 140-0002

日本

電話番: +81 3 4586 1800

Fax番: +81 3 4586 1830

E-Mailアドレス:

Vector Japan Co. Ltd.

東京都品川区東品川2-3-12 シーフォートスクエア センタービル

受付時間は下記をご参照ください。
・ 電話受付時間/10:00〜12:00 13:00〜17:30
月曜日〜金曜日 (祝日、年末年始、特定休業日を除く)
・E-mail、Fax受付時間/24時間随時
※夜間、休日にいただいたお問合せは翌営業日の対応となります。
※内容によってご回答までにお時間をいただく場合がございますことをご了承ください

Tokyo 140-0002

日本

電話番: +81 3 4586 1810

Fax番: +81 3 4586 1830

E-Mailアドレス:

Vector Japan Co. Ltd.

Seafort Square Center Bldg.
2-3-12 Higashi-shinagawa, Shinagawa-ku

Tokyo 140-0002

日本

電話番: +81 3 4586 1800

Fax番: +81 3 4586 1830

E-Mailアドレス:

Vector Japan Co.Ltd...

Seafort Square Center Bldg.
2-3-12 Higashi-shinagawa, Shinagawa-ku

Tokyo 140-0002

日本

電話番: +81 3 4586 1800

Fax番: +81 3 4586 1830

E-Mailアドレス:

Vector Automotive Technology (Shanghai) Co., Ltd.

Sunyoung Center
Room 2701-2703, No.398 Jiang Su Road
Changning District

Shanghai 200050

中国

電話番: +86 21 2283 4688

E-Mailアドレス:

Vector Automotive Technology (Shanghai) Co., Ltd.

801, 8th Floor, Indigo Plaza,
No.20 Jiuxianqiao Road,
Chaoyang District

Beijing 100016

中国

電話番: +86 10 8432 8600

E-Mailアドレス:

Vector Automotive Technology (Shanghai) Co., Ltd.

Sunyoung Center
Room 2701-2703, No.398 Jiang Su Road
Changning District

Shanghai 200050

中国

電話番: +86 21 2283 4688

E-Mailアドレス:

Vector Automotive Technology (Shanghai) Co., Ltd.

Sunyoung Center
Room 2701-2703, No.398 Jiang Su Road
Changning District

Shanghai 200050

中国

電話番: +86 21 2283 4688

E-Mailアドレス:

Vector Automotive Technology (Shanghai) Co., Ltd.

Sunyoung Center
Room 2701-2703, No.398 Jiang Su Road
Changning District

Shanghai 200050

中国

電話番: +86 21 2283 4688

E-Mailアドレス:

Vector Automotive Technology (Shanghai) Co., Ltd.

Sunyoung Center
Room 2701-2703, No.398 Jiang Su Road
Changning District

Shanghai 200050

中国

電話番: +86 21 2283 4688

E-Mailアドレス:

Vector Automotive Technology (Shanghai) Co., Ltd.

Room 1008, Galaxy Development Building, No. 18, Zhongxin 5th Road
Futian District

Shenzhen 518048

中国

電話番: +86 21 2283 4628

E-Mailアドレス:

Vector Korea IT Inc.

9F, Yongsan Prugio Summit Office-dong,
69, Hangang-daero, Yongsan-gu

Seoul 04378

韓国

電話番: +82 2 807 0600

Fax番: +82 2 807 0601

E-Mailアドレス:

Vector Korea IT Inc.

9F, Yongsan Prugio Summit Office-dong,
69, Hangang-daero, Yongsan-gu

Seoul 04378

韓国

電話番: +82 2 807 0600 Ext.1

Fax番: +82 2 807 0601

E-Mailアドレス:

Vector Korea IT Inc.

용산구 한강대로 69 용산 푸르지오 써밋 업무동 9층

서울 04378

韓国

電話番: +82 2 807 0600 Ext.4

Fax番: +82 2 807 0601

E-Mailアドレス:

Vector Korea IT Inc.

9F, Yongsan Prugio Summit Office-dong,
69, Hangang-daero, Yongsan-gu

Seoul 04378

韓国

電話番: +82 2 807 0600 Ext.2

Fax番: +82 2 807 0601

E-Mailアドレス:

Vector Korea IT Inc.

602, Yongsan Prugio Summit Office-dong

Seoul 04378

韓国

電話番: +82 2 807 0600 Ext.3

Fax番: +82 2 807 0601

E-Mailアドレス:

Vector Italia s.r.l.

Corso Sempione 68

20154 Milano

イタリア

電話番: +39 02678171 10

Fax番: +39 02678171 35

E-Mailアドレス:

Vector Italia s.r.l.

Corso Sempione 68

20154 Milano

イタリア

電話番: +39 02678171 70

Fax番: +39 02678171 35

E-Mailアドレス:

Business hours: Monday to Friday from 9:00 am to 6:00 pm (CET/CEST).

Online: https://portal.vector.com

Vector Italia s.r.l.

Corso Sempione 68

20154 Milano

イタリア

電話番: +39 02678171 10

Fax番: +39 02678171 35

E-Mailアドレス:

Vector Italia s.r.l.

Corso Sempione 68

20154 Milano

イタリア

電話番: +39 02678171 10

E-Mailアドレス:

Vector Informática Brasil Ltda.

Rua Verbo Divino 1488, 3º andar

4719-904 São Paulo - SP

ブラジル

電話番: +55 11 5180 2350

Fax番: +55 11 5181 7013

E-Mailアドレス:

Vector Informática Brasil Ltda.

Rua Verbo Divino 1488, 3º andar

4719-904 São Paulo - SP

ブラジル

電話番: +55 11 5180 2350

Fax番: +55 11 5181 7013

E-Mailアドレス:

Vector Informática Brasil Ltda.

Rua Verbo Divino 1488, 3º andar

4719-904 São Paulo - SP

ブラジル

電話番: +55 11 5180 2351

Fax番: +55 11 5181 7014

E-Mailアドレス:

Vector Informática Brasil Ltda.

Rua Verbo Divino 1488, 3º andar

4719-904 São Paulo - SP

ブラジル

電話番: +55 11 5180 2350

E-Mailアドレス:

Vector North America

1351 South County Trail, Suite 310

East Greenwich, RI 02818

アメリカ合衆国

電話番: +1 401 398 7185

E-Mailアドレス:

Development software testing
Operational sales non-automotive
 

Vector North America

1351 South County Trail, Suite 310

East Greenwich, RI 02818

アメリカ合衆国

電話番: +1 401 398 7185

E-Mailアドレス:

Vector North America

1351 South County Trail, Suite 310

East Greenwich, RI 02818

アメリカ合衆国

電話番: +1 401 398 7185

E-Mailアドレス:

Vector France S.A.S.

106 avenue Marx Dormoy

92120 Montrouge

フランス

電話番: +33 1 73 28 42 00

E-Mailアドレス:

Vector France S.A.S.

106 avenue Marx Dormoy

92120 Montrouge

フランス

電話番: +33 1 73 28 42 00

E-Mailアドレス:

Vector France S.A.S.

106 avenue Marx Dormoy

92120 Montrouge

フランス

電話番: +33 1 73 28 42 42

E-Mailアドレス:

Vector France S.A.S.

9 rue Matabiau

31000 Toulouse

フランス

電話番: +33 170 952 200

E-Mailアドレス:

Squoring Technologies SAS

9 Rue Matabiau

31000 Toulouse

フランス

電話番: +33 170 952 200

E-Mailアドレス:

Vector France S.A.S.

106 avenue Marx Dormoy

92120 Montrouge

フランス

電話番: +33 1 73 28 42 00

E-Mailアドレス:

Vector Informatik India Pvt. Ltd.

No 11-14, 5th & 6th floor, Tara Heights,
Old Mumbai Pune Road, Wakadewadi

Shivaji Nagar, Pune 411003

インド

電話番: +91 20 6634 6600

E-Mailアドレス:

Vector Informatik India Pvt. Ltd.

No 11-14, 5th & 6th floor, Tara Heights,
Old Mumbai Pune Road, Wakadewadi

Shivaji Nagar, Pune 411003

インド

電話番: +91 20 6634 6600

E-Mailアドレス:

Vector Informatik India Pvt. Ltd.

No 11-14, 5th & 6th floor, Tara Heights,
Old Mumbai Pune Road, Wakadewadi

Shivaji Nagar, Pune 411003

インド

電話番: +91 20 6634 6634

E-Mailアドレス:

Vector Informatik India Pvt. Ltd. – Bengaluru office

Kalyani Solitaire 2nd & 3rd Floor
No.165/2, Krishna Raju Layout
Doraisanipalya, Off Bannerghatta Road

Bengaluru 560076

インド

電話番: +91 80 6822 9600

E-Mailアドレス:

Vector Informatik India Pvt. Ltd.

No 11-14, 5th & 6th floor, Tara Heights,
Old Mumbai Pune Road, Wakadewadi

Shivaji Nagar, Pune 411003

インド

電話番: +91 20 6634 6600

E-Mailアドレス:

VecScan AB

Theres Svenssons Gata 9

417 55 Gothenburg

スウェーデン

電話番: +46 31 764 76 00

Fax番: +46 31 764 76 19

E-Mailアドレス:

VecScan AB

Theres Svenssons Gata 9

417 55 Gothenburg

スウェーデン

電話番: +46 31 764 76 00

Fax番: +46 31 764 76 19

E-Mailアドレス:

VecScan AB

Theres Svenssons Gata 9

417 55 Gothenburg

スウェーデン

電話番: +46 31 764 76 00

Fax番: +46 31 764 76 19

E-Mailアドレス:

VecScan AB

Theres Svenssons Gata 9

417 55 Gothenburg

スウェーデン

電話番: +46 31 764 76 00

Fax番: +46 31 764 76 19

E-Mailアドレス:

VecScan AB

Teknikringen 9

SE-583 30 Linköping

スウェーデン

電話番: +46 (0)13–560 18 14

Fax番: +46 31 764 76 19

E-Mailアドレス:

Vector North America

66 Bovet Road, Suite 300

San Mateo, CA 94402

アメリカ合衆国

E-Mailアドレス:

Vector North America

66 Bovet Road, Suite 300

San Mateo, CA 94402

アメリカ合衆国

E-Mailアドレス:

Vector North America

66 Bovet Road, Suite 300

San Mateo, CA 94402

アメリカ合衆国

E-Mailアドレス:

Vector Informatik GmbH

Visitor Address: Holderäckerstr. 36

70499 Stuttgart

ドイツ

電話番: +49 711 80670-0

E-Mailアドレス:

Address for Deliveries:
Motorstr. 56
70499 Stuttgart
Germany

Vector Informatik GmbH

Visitor Address: Holderäckerstr. 36

70499 Stuttgart

ドイツ

電話番: +49 711 80670 200

E-Mailアドレス:

Business hours: Monday to Friday from 8:30 am to 5:00 pm (CET/CEST).

Online: https://portal.vector.com

Vector Informatik GmbH

Visitor Address: Holderäckerstr. 36

70499 Stuttgart

ドイツ

電話番: +49 711 80670 500

E-Mailアドレス:

地図に表示
言語を選択してください

1. エリア

地域/国を選択してください:

Your region/language settings differ from the requested site. Do you want to change to suggested region/language?
Your region/language settings differ from the requested site. Do you want to change to suggested region/language?
Your region/language settings differ from the requested site. Do you want to change to suggested region/language?
Your region/language settings differ from the requested site. Do you want to change to suggested region/language?
Your region/language settings differ from the requested site. Do you want to change to suggested region/language?
Your region/language settings differ from the requested site. Do you want to change to suggested region/language?
Your region/language settings differ from the requested site. Do you want to change to suggested region/language?
Your region/language settings differ from the requested site. Do you want to change to suggested region/language?
Your region/language settings differ from the requested site. Do you want to change to suggested region/language?
Your region/language settings differ from the requested site. Do you want to change to suggested region/language?
Your region/language settings differ from the requested site. Do you want to change to suggested region/language?
Your region/language settings differ from the requested site. Do you want to change to suggested region/language?
Your region/language settings differ from the requested site. Do you want to change to suggested region/language?
Your region/language settings differ from the requested site. Do you want to change to suggested region/language?
shoppingcart

ベクターのツールで高品質のソフトウェアを作るための5つのビルディングブロック

後から保守リリースやパッチが公開されるのだから、最新バージョンのソフトウェアは避けたほうがよい―。それは経験から学んだユーザーの知恵です。大手企業ですら新規投入時のバグと無縁ではいられず、現に、携帯電話のソフトウェアのアップグレードサイクルでは、メジャーリリースの後に「フィックス」用の更新が何度か続きます。初期リリースと安定リリースの間にソフトウェア品質上のギャップがあることは紛れもない事実ですが、その解決は残念ながら進んでいません。

ここでは、開発グループがこの品質ギャップを埋めるのに役立つ、実行可能な5つのアイデアについて説明します。

1.テストカバレッジ

コードカバレッジ解析を使用する

コードカバレッジを解析すれば、一連のテストケースを実行してカバーされるソフトウェアソースコードの割合を知ることができます。コードカバレッジ解析はテストアクティビティーの完全性を測定する最善の方法であり、コードカバレッジを測定しなければ、テストの先を見通すことができません。

 

コードカバレッジ解析
図1 – コードカバレッジ解析によるテスト完全性の測定

「コードカバレッジ100%」を達成できても、そのアプリケーションが完璧である証明にはなりませんが、それが高品質のソフトウェアを作るための重要な要素であることは忘れてはいけません。事実、安全性を最重視するソフトウェアの開発に関わる標準規格はいずれも、コードカバレッジを開発プロセスの一環として義務付けています。


コードカバレッジの詳細については、こちらのホワイトペーパーをお読みください。

2.単体テスト

単体テストでテストカバレッジを改善する

図2 – 単体テストでカバレッジのギャップをなくし、100%のコードカバレッジを達成する

カバレッジを測定してみると、既存のテストでは100%を大きく下回る値しか達成できていないケースがほとんどです。 このようなカバレッジのギャップは、テスターが正常なユースケースにのみ注目し、エラーケースや境界条件を考慮していないのが原因です。

このギャップは新たに機能テストを追加すれば解消できるはずですが、アプリケーションコードのうち、一般に20%から30%はエラー処理のトリガーに必要なフォールトの注入が難しく、生産環境での機能テストでテストするのは非常に困難です。

フィールドで発生する深刻なバグは、アプリケーションに対して想定外の組み合わせで刺激が与えられた結果です。探索や切分けを試みると消滅したり、挙動を変えたりするハイゼンバグはその好例です。これらのバグは初期化していない変数が原因と考えられ、単にコードを観察するだけでは変更されているように見えるため、Cプログラマーの頭痛の種となっています[1]。

ここで威力を発揮するのが低レベルの単体テストです。単体テストではフォールトインジェクション、すなわち生産環境では不可能な方法でエラー処理をテストできます。
 

3.テストのインフラストラクチャー

テストを実行しやすく、結果を理解しやすくする

多彩なテストが含まれたテストピラミッド
図3 – 多彩なテストが含まれたテストピラミッド

「テストを実行しやすく、結果を理解しやすくする」のは、理屈だけ考えれば簡単そうですが、実際のところは必ずしも容易ではありません。これまで、さまざまなテストがさまざまな技術者によって、そしてしばしばさまざまなツールを使って構築され、維持されてきました。

  • 単体テストは、アプリケーションの低レベルのビルディングブロックの正しさを証明するために使用されます
  • サービスレイヤーテストとAPIレイヤーテストは、サブシステムが正しく機能することを証明するために作成されます
  • マンマシンインターフェイステスト(HMI)/機能テストは、エンドユーザーの視点からの正しさを証明するために作成されます

テストをこのように区分することにより、開発チーム全員でそれらを共有するのではなく、技術者グループごとにタイプの異なるテストを担当し、保守できるようになります。実際問題として、QAエンジニアが開発者のテストを実行したり、開発者がシステムテストを実行したりできる組織はほとんどありません。

品質を高めるには、開発チームの全員が、任意のテストを任意のタイミングで、任意のバージョンのアプリケーションについて実行できる必要があります。

このワークフローを可能にする鍵が、事前条件と期待される結果も含めてすべてのテストを収集する、テストのための共通のコラボレーションプラットフォームです。ここでは単独のテストの実行も、全テストの一括実行も、エンジニアがボタンをクリックするだけで実行できることが求められます。また、失敗したテストをスピーディーにデバッグできることも必要です。

詳しくは以下の文書をご覧ください。

document-pdf Building a Flexible and Automated Testing Infrastructure

4.テストの効率

並行して実行できる、変更ベースの自動テストを実装する

コードカバレッジ解析でテストの完全性を高め、テストを組織全体に展開したら、次のステップはテストの迅速な実行を担保することです。テストを複数のグループで分担する理由の1つは、完全なシステムテストを実行すると、数時間から数日を要するためであって、コードを1行変更した開発者に10時間のテストを依頼すれば反発を受けるのは必定です。では、テストの完全性は確保しつつ、テスト時間を短縮するにはどうすればよいのでしょうか。

ここでの鍵は、拡張性の高いテスト用インフラストラクチャーを構築し、並行して実行できる、変更ベースのテストを使用することです。個々のテストはアトミックで小規模、しかも高速でなければなりません。新しいテストを既存のテストに単に挿入していった結果、テストスイート同士が強い関連性を持つようになってしまうことは少なくありませんが、そうなると堅牢なテストは望めず、テストの保守にも時間が掛かります。単純なことですが、テストを設計する場合には、他のテストの出力に依存しない、そのテスト独自の事前条件を定義すべきだということを頭に入れておく必要があります。

テストを再設計してそれらをアトミックに保てば、保守の面で有利になるだけでなく、以下も可能になります。

  • 変更ベーステスト。ソフトウェアの変更で影響があるテストのみを実行します
  • テストの並行実行。数百規模の個別のテストを同時に実行します

アプリケーションをインクリメンタルに自動ビルドしてくれるソフトウェアビルドシステムはどこも開発していますが、インクリメンタルにテストを実行するシステムが実装されているケースほとんどありません。テストは定期的に行われるのが一般的で、それが完全に自動化された形で、インクリメンタルに随時実施されることはまずないのです。変更ベーステスト(CBT)は、コードベースに加えられた一連の変更をそれぞれ解析し、それらの変更の影響を受けるテストのサブセットを、テスト全体の中からインテリジェントに選び出します。その結果、完全なテストを、そのフル実行に要する時間の数分の一で実行することが可能になります。また、変更ベーステストは、厳格な継続的インテグレーション(CI)開発プロセスを実装するための実用的な手段でもあり、CIのチェックインの際にCBTを使用することにより、効率的にビルドを検証し、問題を早期に検出することができます。

 

図4 –コード変更の影響を受けるテストケースのリグレッションテスト

テストのスピードをさらに向上するには、並行テストの実施を検討します。テストプラットフォームを継続的インテグレーションサーバー、そして仮想のテスト用マシンと統合することにより、テストの総所要時間を数時間から数分に、あるいは数分から数秒に短縮できます。

 

5.リファクタリング

コードベースをリファクタリングし、保守性を高める

図5 – コードのリファクタリングのアプローチ

コードのリファクタリングとは、アプリケーションの外部の挙動(API)は変えないまま、アプリケーションのコンポーネントを再構成するプロセスです。

リファクタリングを行わないと、アプリケーションのコードが非常に複雑化し、時間の経過につれて保守がしにくくなります。新機能やバグフィックスが既存の機能に追加された結果、当初の洗練された設計は見る影もない、といったことがよく起こるのです。

コードのリファクタリングはコードの可読性を改善して複雑さを軽減し、保守のコストも削減します。コードのリファクタリングをうまく行えば、基となるロジックを簡素化して無用な複雑化を排除でき、隠れたバグやまだ表面化していないバグ、見落とされているバグのほか、システムの脆弱性などの問題を解決できる可能性を高めることができます。

どのアプリケーションにも、開発者が既存の機能に影響が出るのを恐れて触りたがらない、バグが疑われる危うい箇所があるものです。そのような不安のあるモジュールを確実にリファクタリングするには、期待される挙動を正しく形式化したテストを構築するしかありません。

まとめ

30年以上もの間、ツール、設計パターン、開発パラダイムのシフトが連綿と続いてきました。これらの多くは、時間や手間を増やさずに品質を向上できることを謳っていますが、品質をコストをかけずに向上できる特効薬は現在も、そして将来も存在しえない事実を、今日のソフトウェア業界に関わる全員がよく理解しておかねばなません。ソフトウェアテストの効率を上げることこそが、ソフトウェア品質を向上するための唯一の現実解なのです。

--------------------

 

参考資料:

[1]

Hristov, Ivan. Chasing Heisenbugs from an AKKA actor integration test with awaitility. 2012年9月16日。 honeysoft.wordpress.com/category/heisenbug/