Tuesday, March 13, 2007

QA と QC とテストエンジニアリングの違い [google]

Google Testing Blog より,QA と QC とテストエンジニアリングの違いについて.
Google Testing Blog: The difference between QA, QC, and Test Engineering

コミュニケーションを円滑に進める為に「用語の定義」は非常に大切だが,重要なのは世間一般の定義よりも,その組織 (や関連組織間) で定義が統一され,役割が明確になることだと思う.

ということで,これはあくまでも Google Testing Team の見解に過ぎないが,まあなにかの参考にはなるかな,と.


まず QC (Quality Control) はというと…

In the classic definition QC is short for Quality Control, a process of verifying predefined requirements for quality.

(QC は元来 Quality Control (品質管理) であり,品質に関する,決められた要件を確認するプロセスである)


For software the QC function may involve checking the software against a set of requirements and verifying that the software meets the predefined requirements.

(ソフトウェアの世界では,QC の機能は,例えばソフトの一連の要件に対する確認だったり,ソフトが決められた要件を満たしているかの立証だったりするだろう)



そして QA (Quality Assurance) は…

Quality Assurance, on the other hand, is much more about providing the continuous and consistent improvement and maintenance of process that enables the QC job.

(一方で Quality Assurance (品質保証) は,QC を上手くまわす為の,首尾一貫した継続的な,改善・保守活動である)



つまり…

We use the QC process to verify a product does what we think it does, and we use the QA process to give us confidence that the product will meet the needs of customers.

(QC は製品が想定通りの挙動をするかどうかの確認であり,QA は製品が顧客の要求を満たすことができるかどうかの確証を得るためのものだ)


To that end the QA process can be considered a meta process that includes aspects of the QC process. It also goes beyond that to influence usability and design, to verify that functionality is not only correct, but useful.

(その為,QA プロセスは QC の側面を持つメタプロセスと解釈することができる.さらにはそれを超えて,機能要件が満たされているだけではなく,便利であることを確証する為に,ユーザビリティやデザインにまで影響を及ぼす)



さて,ここまでは一般的な話で,ここからが彼らの本題.

Here at Google, we tend to take a third approach that we call Test Engineering. We look at this as a bridge between the meta world of QA and the concrete world of QC. Our approach allows us to ensure that we get the opportunity to think about customers and their needs, while we still provide results that are needed on day to day engineering projects.

(Google では,「テストエンジニアリング」という,第3のアプローチを取っている.これはメタ世界の QA と,実世界の QC を橋渡しするものと捉えている.つまり我々のアプローチは,日々のエンジニアリングプロジェクトで成果を出しながらも,同時に顧客と顧客の要求を確実に考慮入れることを可能とする)



それで,Google Testing Team はソフトエンジニアと QA / QC もやりつつ,テスト容易性を高める工夫をしたり,設計ドキュメントをレビューして test hook の要求をしたりしますよーみたいな内容に続くのだが,目を引いたのはこの一文 (の後半部分,というか訳だと前半部分か).

We put an emphasis on building automated tests so that we can let people do what people are good at, and have computers do what computers are good at.

(人間には人間の得意なことをやらせ,コンピューターにはコンピューターの得意なことをやらせる為に,自動化テストの構築に重きを置いている)



日本でもテストエンジニアの地位が向上しますように.

あ,訳はいつも通り,意訳です.


0 comments: