2.5 可用的工具、技术和度量
大量的软件测试工具业已存在。正确性测试工具通常是为一定的系统特制的,具有能力和通用性的局限。鲁棒性和压力测试工具越来越具有通用性。
Mothora是一个自动化的变异测试工具集,是PurdueUniversity开发的。使用这个工具,测试者可以创建和执行测试用例、度量测试用例足够与否、决定输入/输出的正确性、定位并消除问题,以及控制测试和将测试文档化。
Purify是在程序运行时帮助检查和调试的工具。他们既可检查、又可针对内存泄露和指针问题进行保护。
Ballista商用软件鲁棒性测试工具。它是全自动化的鲁棒性测试工具。第一个版本在UNIX操作系统中,支持多达233个POSIX功能调用。假如数据类型可以被测试服务器识别,第二个版本也支持用户函数的测试。Ballista测试工具给出了操作系统鲁棒性的量化对比数据。目标是自动化地测试商业软件的鲁棒性,以提高其质量。
2.6 和其它主题的关系
软件测试是软件开发的一部分。和软件质量直接相关。和软件、软件质量、软件可靠性和系统可靠性等主题都有一些关系。
三、相关主题
1)软件可靠性。软件测试和软件可靠性关系很近。软件可靠性可以通过测试来增强。测试还可以作为软件可靠性的度量。
2)错误注入。错误注入可以被认为一个特殊的测试方法。错误注入和测试通常联合使用,以确定关键的容错软件和硬件的可靠性。
3)验证、确认和发证。软件测试的目的不仅仅是为了发现错误和消除错误。也是验证、确认和发证的工具
四、结论
1)测试是一门艺术。测试方法和实践,绝大多数还和20年前一样。尽管已有了很多工具和方法,但远没有成熟。好的测试活动除了使用正确的测试技术之外,还需要测试者的创造性、经验和知觉。
2)测试不仅仅是调试。测试不仅用来定位缺陷,还用来纠正错误。还应用在确认、验证过程,以及用在可靠性度量方面。
3)测试是昂贵的。自动化是削减成本和时间的好法子。对于基于覆盖的测试技术而言,测试的有效性和效力是标准。
4)完全的测试是不可行的。复杂度是问题的根本。在某些点上,软件测试不得不停下来、产品不得不发布。停止时间是成本和时间的平衡。或者,可靠性估计满足了要求之后,测试才停。
5)测试可能不是最有效地提高软件质量的方法。替代的方法,如审查、clean-room工程可能会更好。
大量的软件测试工具业已存在。正确性测试工具通常是为一定的系统特制的,具有能力和通用性的局限。鲁棒性和压力测试工具越来越具有通用性。
Mothora是一个自动化的变异测试工具集,是PurdueUniversity开发的。使用这个工具,测试者可以创建和执行测试用例、度量测试用例足够与否、决定输入/输出的正确性、定位并消除问题,以及控制测试和将测试文档化。
Purify是在程序运行时帮助检查和调试的工具。他们既可检查、又可针对内存泄露和指针问题进行保护。
Ballista商用软件鲁棒性测试工具。它是全自动化的鲁棒性测试工具。第一个版本在UNIX操作系统中,支持多达233个POSIX功能调用。假如数据类型可以被测试服务器识别,第二个版本也支持用户函数的测试。Ballista测试工具给出了操作系统鲁棒性的量化对比数据。目标是自动化地测试商业软件的鲁棒性,以提高其质量。
2.6 和其它主题的关系
软件测试是软件开发的一部分。和软件质量直接相关。和软件、软件质量、软件可靠性和系统可靠性等主题都有一些关系。
三、相关主题
1)软件可靠性。软件测试和软件可靠性关系很近。软件可靠性可以通过测试来增强。测试还可以作为软件可靠性的度量。
2)错误注入。错误注入可以被认为一个特殊的测试方法。错误注入和测试通常联合使用,以确定关键的容错软件和硬件的可靠性。
3)验证、确认和发证。软件测试的目的不仅仅是为了发现错误和消除错误。也是验证、确认和发证的工具
四、结论
1)测试是一门艺术。测试方法和实践,绝大多数还和20年前一样。尽管已有了很多工具和方法,但远没有成熟。好的测试活动除了使用正确的测试技术之外,还需要测试者的创造性、经验和知觉。
2)测试不仅仅是调试。测试不仅用来定位缺陷,还用来纠正错误。还应用在确认、验证过程,以及用在可靠性度量方面。
3)测试是昂贵的。自动化是削减成本和时间的好法子。对于基于覆盖的测试技术而言,测试的有效性和效力是标准。
4)完全的测试是不可行的。复杂度是问题的根本。在某些点上,软件测试不得不停下来、产品不得不发布。停止时间是成本和时间的平衡。或者,可靠性估计满足了要求之后,测试才停。
5)测试可能不是最有效地提高软件质量的方法。替代的方法,如审查、clean-room工程可能会更好。