开源软件测试模型(3)

发表于:2015-03-26来源:uml.org.cn作者:不详点击数: 标签:
错误处理:产品在错误的情况下可抵御失败,失败时能够妥善应对并很容易恢复。 数据完整性:产品可防止系统数据的丢失或损坏。 安全 (Security):产品

  错误处理:产品在错误的情况下可抵御失败,失败时能够妥善应对并很容易恢复。

  数据完整性:产品可防止系统数据的丢失或损坏。

  安全(Security):产品可防止未授权用户的访问。

  保险(Safety):产品的失败不会造成生命或财产的损失。

  可用性—— 产品是否很容易被真实用户使用?

  易学习性:产品操作可很快被潜在用户掌握。

  易操作性:产品的操作只需付出很少努力,不会引起混乱。

  性能—— 速度和相应能力如何?

  可安装性—— 是否能很容易地安装在目标平台上?

  兼容性—— 能否与外部元素和配置协同一致地工作?

  应用兼容性:产品能够与其他软件产品一起工作。

  操作系统兼容性:产品可与某种特定操作系统协同工作。

  硬件兼容性:产品可与某种特定硬件平台元素和配置协同工作。

  后向兼容性:产品能够与其早期版本协同工作。

  资源使用:产品不会滥用内存、存储介质或其他系统资源。

  5.2 开发准则

  可支持性—— 产品技术支持工作的经济性如何?

  可测试性—— 产品测试工作的有效性如何?

  可维护性—— 产品构建、纠错或功能增强的经济性如何?

  可移植性—— 移植或在其他环境下重用产品相关技术的经济性如何?

  可定域性—— 以其他语言发布产品的经济性如何?

  六、测试技术选择

  需求:包括产品元素、质量准则、测试环境和参考资料,从总体上表达了受益人的愿望以及各种资源限制。完整需求的获得决非易事,并随着受益人经验的增加或环境的改变而处于连续变化当中。参考资料是任何可用作需求来源的文档或实体,包括显式参考(由受益人明确指定)和隐式参考(任何其他未指定的有用资料)。

  定义测试预期:测试预期是用于判定一个测试通过与否的策略,测试的主要任务之一就是根据产品真实需求来确定测试预期,受到测试目标的影响。

  定制测试模型:根据项目特点构造一个测试模型——描述将采用何种测试方法,以及该方法相配合的测试“覆盖”内容。比如:采用基于风险的测试方法时,同时应制定相应的风险领域列表。在后面罗列一些通用测试技术以供选择使用。

  选择覆盖范围:确定产品的哪些部分必须被测试,哪些可暂不考虑。

  配置系统:为测试工作准备产品和平台,确保系统处于开始测试的正确状态。

  操作系统: 为系统提供必需的输入和控制以执行测试,对于某些测试类型可能需要特殊工具支持。

  观察系统:监控系统操作过程中的输出或任何其他相关结果。对于哪些隐含变量或微妙结果的观察可能需要特殊工具支持。

  评估结果:利用测试预期来评估测试结果,需要时执行附加的测试以验证评估。及时反馈评估结果给开发人员,必要时应调整测试计划。

  附录:通用测试技术

  每种测试技术是一种创建测试的方式,其种类难以胜数。以下给出一些简单、实用的通用测试技术,每种技术既可以通过所谓“快速但不洁(quick and dirty)”的方式执行,也可以更为正式地执行,还可以相互结合(比如基于风险的回归测试等)。

  域测试——依据等价类和边界值对产品不同域测试

  1. 确定要测试的域;

  2. 分析每个域的限制和特性;

  3. 确定要测试的域组合;

  4. 应用所选择的测试策略。

  例如,穷尽值,典型值,边界值,随机值,非法值。

  容量测试——在“超负荷”状态下使用系统

  1. 选择要“超负荷”测试的条目和功能;

  2. 确定与其相关的数据和平台元素;

  3. 选择或生成用来运行测试的具有挑战性的数据和平台配置。

  例如,很大或复杂的数据结构,高负载,长时间运行,大量测试用例,低内存条件

  线索测试——按照某种逻辑顺序对系统进行测试

  1. 定义测试程序或高层测试用例,将多个测试按照一个接一个的方式结合在一起;

  2. 不要在测试之间重置系统;

原文转自:http://www.uml.org.cn/Test/201106012.asp