ISTQB Advanced Level Syllabus – Test Automation Engineer を読む〜1. Introduction and Objectives for Test Automation

ISTQBのシラバス「Test Automation Engineer」を読みつつまとめつつ、学ぼうと思い立ちました。

kz_suzukiさんのブログを見ていてやってみようと思ったから、です。

初回なので第一章からスタート。

シラバスの入手は以下より。

※免責事項:間違ったことを書いている可能性もありますのでご注意ください。

1.1 テスト自動化の目的

テスト自動化の、やり方等ではない基本的なところ。この先読み進めていくにあたっての認識あわせのような内容が書かれている項です。

ソフトウェアテストにおいて、テスト自動化(自動でのテスト実行を含む)は、

  • テストの事前条件設定や管理
  • テストの実行
  • 期待結果と実行結果の比較

のうちの1つ以上を自動化すること。

最初から大事なことが書いてあると思っていまして、テスト自動化と言ったときに「テストの自動実行」の部分のみを考えている人が居るので。そうじゃないよ、というのは伝えていきたいところ。

他の内容としては以下。

  • テストウェアが必要となるアクティビティ
  • テスト自動化がSUTと相互に影響するために異なるアプローチをとるところ
  • テスト自動化の目的
  • テスト自動化の利点
  • テスト自動化の欠点
  • テスト自動化の限界

1.2 テスト自動化を成功させるために

この項では、テスト自動化を成功させるために、やるべきこと・気をつけるべきことについて書かれています。

ここで言っている成功というのは、「やったー、自動化できた!」という短期的な成功ではなく、もっと長期的な成功のことを指しています。

成功のための主な項目として以下が挙げられています。

  • テスト自動化アーキテクチャ
  • テスト対象のテスト容易性
  • テスト自動化戦略
  • テスト自動化フレームワーク

自動テストのコードは保守しづらい複雑なものになりがちだが、保守性は何よりも大切。たとえばやってはいけないこととして

  • インターフェースに強く依存する(GUIの変更など)
  • データの変更に弱かったり、特定のデータに強く依存する(他のテストの結果をインプットとして使うなど)
  • テスト環境が他の影響を受けやすい(OSの日付、OSの地域設定、他のアプリケーションなど)

が挙げられています。

この辺は、「わかってはいるけど難しい」なぁというのが正直なところでした。

過去の経験上、テスト実行の環境面が弱い(=データや環境の前提条件を明確に定義せずにテスターの経験を頼りにテストが行われている)ことが多かったな・・・という印象です。

この記事を書いた人

yoshikiito

都内でテストエンジニア&ブロガーをやっている@yoshikiitoです。

ソフトウェアエンジニアの学習方法や成長するための考え方、会社に依存せず自分の力で生きていけるエンジニアになる方法などについて興味があります。
こういった方法や考え方、自分が試したことなどをブログを通じて発信します。

仕事は主にソフトウェアテストやテスト自動化。
趣味は浦和レッズと読書と技術書を買って積むこと。

技術評論社から本を出すのが夢