|
提高测试质量的方法和其它提高任何过程的质量的方法是相似的。你应对整个过程有相当 的了解,这样可稍微变更过程并观察不同情况之间的差异。当观察到一种变更带来了积极的影 响时,便可修改此过程,以便使其更好。以下讨论了如何提高测试质量的方法。 计划测试 进行有效测试的关键是从项目开始就计划测试。将测试看成和设过、编码同样重要意味着 时间将分配给测试,测试被认为是重要的。并且是一个高质量过程。测试计划应能使测试过程 可重复。如果你不能重复某一测试过程,你也就不能提高测试的质量。 再测试(回归测试) 假定你已经对你的产品进行了仔细的调试且没有发现错误,然后在某处对产品作了改动并想确证它仍能通过所有测试——就是说修改并不引入新的错误。用于防止使软件质量倒退或“回 归”的测试叫“回归测试”。 一项对数据处理人员的研究发现 52%被调查者对“回归测试”并不熟悉。这是一个不妙的 信号,因为除非你在修改后再对系统地重新测试,否则几乎不可能得到一个高质量的软件产品。 如果每做一次修改都进行不同的测试,你将无法确证你是否引进了新的错误。因此,每次都应 用到回归测试。有时,当某一产品趋于成熟时增加新的测试,但是旧测试仍保留下来。 管理回归测试的唯一可行方法是使回归测试自动化。当人们将相同的测试进行许多次并看 到许多次的结果都相同时;他们会对此厌烦,这会导致人们非常容易忽视错误,使回归测试目 的破产。
测试记录 除了使测试过程可重复之外,你还需度量项目以便于你能明白修改是提高还是恶化了软件 质量。以下是一些可供你度量所在项目的数据: · 对错误的管理性描述(所提交的数据、编写报告的人所修改的数据) · 对问题的充分描述 · 重复问题的方法 · 对问题的建议处理方法 · 相关错误 · 问题的严重性——例如,致命错误,令人讨厌的错误或无关紧要的错误 · 错误排序——分析、设计、代码或测试错误 · 代码错误的排序——边界错误、赋值错误、数组指针错误、子程序调用错误等等 · 所确定的错误位置。 · 由修改所引起的模块和子程序修改 · 个人对错误态度(这是有争议的,且可能对士气有一定影响) · 每个错误所影响行数 · 发现错误所需时间 · 改正错误所需时间 一旦你得到以上数据,你可对其进行分析以确定项目质量是好还是不好。 · 每个子程序的错误数。从最坏到最好的顺序排序 · 发现每个错误所需平均测试时间 · 发现每个错误所需平均测试用例数 · 定位每个错误所需平均编程时间 · 测试用例所覆盖代码的百分比 · 每种严重错误中突出错误数
小 结 · 开发者使用测试是完成测试策略的一个重要组成部分。模块和系统测试也是重要的,但它们不在本书的讨论之内。 · 各种测试方法的混合使用也是搞好软件程序质量的一个方面。高质量开发方法,包括有条 理地对需求和设计进行测试。检查和普查在发现错误方面也至少同调试方法一样有效, 并且可发现各种类型的错误。 · 通过采用基本测试、数据流分析和错误猜测你可生成许多测试用例。 · 错误倾向于集中在少数几个子程序中。找到这几个子程序,重新设计和重写它们。 · 测试数据往往比受测试的代码含有更多的错误。这种找错方法只会浪费时间而不会 提高代码质量,测试数据错误往往比编程错误更令人讨厌,这可通过仔细地进行测试 来避免。 · 最终提高测试质量的最好方法是,有条理地度量它,利用你的知识提高测试质量。
|