第9章ソフトウェア工学
Acceptance Testing受け入れテスト
Also called user acceptance testing, acceptance testing is the process used to determine whether the software solution fulfills the customer’s expectations. This level of testing generally occurs after system testing and is done by the customer, client, or other end user of the software.
受け入れテストはユーザー受け入れテストとも呼ばれ、ソフトウェアによる仕組みが顧客の期待を満たすかを判断するプロセスである。この水準のテストは一般にシステムテストの後に行い、ソフトウェアの顧客、依頼者、またはその他のエンドユーザーが実施する。
Acceptance tests are formalized testing that can be specified by the customer, and it tests both functional and nonfunctional requirements. To test functional requirements, acceptance tests often follow scenarios created in requirements analysis. For example, in a library information system, we can use scenario “Add new book” to create an acceptance test. During the acceptance test, the tester will fill out an input form, submit it, and check that the system contains a new book.
英語のヒント
受け入れテストは形式を整えたテストで、顧客が内容を指定でき、機能要求と非機能要求の両方を対象とする。機能要求をテストする際には、要求分析で作成したシナリオに従うことが多い。たとえば、図書館の情報システムでは「新しい本を追加する」というシナリオから受け入れテストを作成できる。テストでは、テスターが入力フォームに記入して送信し、新しい本がシステムに登録されていることを確認する。
In the automotive industry, acceptance testing could be done by the department that requested the new features. It could also be done by dealerships or customers who own or have purchased previous versions of a given automobile. A driver could be asked to use the new features and then be surveyed to see what issues occurred.
英語のヒント
自動車産業では、新機能を要求した部署が受け入れテストを行う場合がある。販売店や、その車種の旧型を所有しているか購入したことのある顧客が行う場合もある。運転者に新機能を使ってもらい、その後に調査して、どのような問題が起きたかを確かめることもできる。
Usability Testingユーザビリティテスト
The user-centered testing method that evaluates how easy and intuitive a software system is to use is called usability testing. It goes beyond just ensuring the software functions correctly and focuses on the user interface/user experience (UI/UX) the part of computer programming that concerns how information is presented to the user and how the user can interact with a program. Usability testing is essential because software that is difficult to use can frustrate users and hinder adoption. By identifying usability issues early in the development process, developers can make improvements that lead to a more user-friendly and successful product. Usability testing typically involves recruiting a small group of users representative of the target audience. These users are asked to complete a series of tasks while a usability tester observes their actions and records their feedback. The tester pays close attention to areas such as:
英語のヒント
ソフトウェアシステムをどれほど簡単かつ直感的に使えるかを評価する、ユーザーを中心に据えたテスト手法を、ユーザビリティテストという。ソフトウェアが正しく機能することを確認するだけにとどまらず、ユーザーインターフェース/ユーザーエクスペリエンス(UI/UX)に重点を置く。これはコンピュータープログラミングのうち、ユーザーへの情報の提示方法と、ユーザーがプログラムを操作する方法に関わる部分である。使いにくいソフトウェアはユーザーをいら立たせ、利用の広がりを妨げる可能性があるため、ユーザビリティテストは不可欠である。開発プロセスの早期に使いやすさの問題を見つければ、開発者は改善を施し、より使いやすく成功する製品につなげられる。ユーザビリティテストでは通常、対象とする利用者層を代表する少人数のユーザーを募集する。このユーザーたちに一連のタスクを行ってもらい、その間にユーザビリティのテスターが行動を観察し、フィードバックを記録する。テスターは、次のような点に注意を払う。
• Task completion: Can users complete the intended tasks efficiently and without errors?
• タスクの完了:ユーザーは、意図されたタスクを効率よく、誤りなく完了できるか。
• Ease of learning: How easy is it for users to learn how to use the software?
• 学習の容易さ:ユーザーにとって、ソフトウェアの使い方を学ぶのはどの程度容易か。
• User satisfaction: Are users satisfied with the overall user experience?
• ユーザーの満足度:ユーザーは、利用体験全体に満足しているか。
While acceptance testing generally happens near the end of a project, usability testing can and should happen much earlier. The focus of usability testing is to enhance user experience, and it typically emphasizes the following areas:
英語のヒント
受け入れテストは一般にプロジェクトの終わり近くに行うが、ユーザビリティテストはそれよりずっと早く行うことができ、またそうすべきである。ユーザビリティテストの焦点は利用体験の向上にあり、通常は次の領域を重視する。
• Interactivity: Are interaction mechanisms (e.g., menus, buttons) clear and consistent? Do they provide appropriate feedback to user actions?
英語のヒント
• 対話性:メニューやボタンなどの操作の仕組みは明快で一貫しているか。ユーザーの操作に対して、適切なフィードバックを返すか。
• Layout: Is information organized in a logical and easy-to-find way? Can users navigate the system intuitively?
英語のヒント
• レイアウト:情報は論理的で見つけやすい形に整理されているか。ユーザーは直感的にシステム内を移動できるか。
• Readability: Is text easy to read and understand? Are error messages clear and actionable?
英語のヒント
• 読みやすさ:文章は読みやすく理解しやすいか。エラーメッセージは明快で、取るべき行動が分かるものになっているか。
• Aesthetics: Is the overall look and feel of the software pleasing and consistent? Do colors, fonts, and images contribute to usability?
英語のヒント
• 見た目のよさ:ソフトウェア全体の見た目と操作感は、心地よく一貫しているか。色、フォント、画像は使いやすさに貢献しているか。
• Display usage: Does the software solution use the best possible screen size and display resolution?
• 画面の利用:ソフトウェアによる仕組みは、利用できる最適な画面サイズと表示解像度を使っているか。
• Timing: Are important features and other pieces of functionality quickly accessible?
• 時間:重要な機能やその他の機能に、すばやくアクセスできるか。
• Feedback support: Is useful feedback provided to end users, and can they easily go back to their work once the feedback has been read?
• フィードバックの支援:エンドユーザーに有用なフィードバックを提示しているか。また、それを読み終えた後に、簡単に元の作業へ戻れるか。
• Personalization: Is the application addressing various categories of users and does it support inclusion?
英語のヒント
• 個人への適合:アプリケーションはさまざまな種類のユーザーに対応し、利用者を排除せず受け入れることを支援しているか。
• Help: Is it easy for users to access help and other support options?
• ヘルプ:ユーザーはヘルプやその他の支援手段に簡単にアクセスできるか。
• Accessibility: Can the software be used by people with disabilities? This includes features such as screen readers and keyboard navigation. Note that accessibility testing is a subset of usability testing that focuses specifically on the needs of users with disabilities. Here are some examples of accessibility considerations:
英語のヒント
• アクセシビリティ:障害のある人もソフトウェアを使えるか。これには、スクリーンリーダーやキーボードによる移動などの機能が含まれる。アクセシビリティテストはユーザビリティテストの一部であり、特に障害のあるユーザーのニーズに焦点を当てる。考慮する事項には、次のようなものがある。
◦ Screen reader compatibility: Can screen readers interpret the content and functionality of the software accurately?
英語のヒント
◦ スクリーンリーダーとの互換性:スクリーンリーダーは、ソフトウェアの内容と機能を正確に解釈できるか。
◦ Color contrast: Does the software use sufficient color contrast to be usable by people with visual impairments?
英語のヒント
◦ 色のコントラスト:視覚に障害のある人が使えるよう、十分な色のコントラストを確保しているか。
◦ Keyboard navigation: Can all features of the software be accessed using only the keyboard?
◦ キーボードによる移動:キーボードだけで、ソフトウェアのすべての機能にアクセスできるか。
◦ Content features: Is blinking, scrolling, or auto content updating avoided to accommodate users with reading difficulties?
英語のヒント
◦ 内容の表示上の特徴:読むことに困難があるユーザーに配慮して、点滅、スクロール、内容の自動更新を避けているか。