错误处理:产品在错误的情况下可抵御失败,失败时能够妥善应对并很容易恢复。
数据完整性:产品可防止系统数据的丢失或损坏。
安全(Security):产品可防止未授权用户的访问。
保险(Safety):产品的失败不会造成生命或财产的损失。
可用性—— 产品是否很容易被真实用户使用?
易学习性:产品操作可很快被潜在用户掌握。
易操作性:产品的操作只需付出很少努力,不会引起混乱。
性能—— 速度和相应能力如何?
可安装性—— 是否能很容易地安装在目标平台上?
兼容性—— 能否与外部元素和配置协同一致地工作?
应用兼容性:产品能够与其他软件产品一起工作。
操作系统兼容性:产品可与某种特定操作系统协同工作。
硬件兼容性:产品可与某种特定硬件平台元素和配置协同工作。
后向兼容性:产品能够与其早期版本协同工作。
资源使用:产品不会滥用内存、存储介质或其他系统资源。
5.2 开发准则
可支持性—— 产品技术支持工作的经济性如何?
可测试性—— 产品测试工作的有效性如何?
可维护性—— 产品构建、纠错或功能增强的经济性如何?
可移植性—— 移植或在其他环境下重用产品相关技术的经济性如何?
可定域性—— 以其他语言发布产品的经济性如何?
六、测试技术选择
需求:包括产品元素、质量准则、测试环境和参考资料,从总体上表达了受益人的愿望以及各种资源限制。完整需求的获得决非易事,并随着受益人经验的增加或环境的改变而处于连续变化当中。参考资料是任何可用作需求来源的文档或实体,包括显式参考(由受益人明确指定)和隐式参考(任何其他未指定的有用资料)。
定义测试预期:测试预期是用于判定一个测试通过与否的策略,测试的主要任务之一就是根据产品真实需求来确定测试预期,受到测试目标的影响。
定制测试模型:根据项目特点构造一个测试模型——描述将采用何种测试方法,以及该方法相配合的测试“覆盖”内容。比如:采用基于风险的测试方法时,同时应制定相应的风险领域列表。在后面罗列一些通用测试技术以供选择使用。
选择覆盖范围:确定产品的哪些部分必须被测试,哪些可暂不考虑。
配置系统:为测试工作准备产品和平台,确保系统处于开始测试的正确状态。
操作系统: 为系统提供必需的输入和控制以执行测试,对于某些测试类型可能需要特殊工具支持。
观察系统:监控系统操作过程中的输出或任何其他相关结果。对于哪些隐含变量或微妙结果的观察可能需要特殊工具支持。
评估结果:利用测试预期来评估测试结果,需要时执行附加的测试以验证评估。及时反馈评估结果给开发人员,必要时应调整测试计划。
附录:通用测试技术
每种测试技术是一种创建测试的方式,其种类难以胜数。以下给出一些简单、实用的通用测试技术,每种技术既可以通过所谓“快速但不洁(quick and dirty)”的方式执行,也可以更为正式地执行,还可以相互结合(比如基于风险的回归测试等)。
域测试——依据等价类和边界值对产品不同域测试
1. 确定要测试的域;
2. 分析每个域的限制和特性;
3. 确定要测试的域组合;
4. 应用所选择的测试策略。
例如,穷尽值,典型值,边界值,随机值,非法值。
容量测试——在“超负荷”状态下使用系统
1. 选择要“超负荷”测试的条目和功能;
2. 确定与其相关的数据和平台元素;
3. 选择或生成用来运行测试的具有挑战性的数据和平台配置。
例如,很大或复杂的数据结构,高负载,长时间运行,大量测试用例,低内存条件
线索测试——按照某种逻辑顺序对系统进行测试
1. 定义测试程序或高层测试用例,将多个测试按照一个接一个的方式结合在一起;
2. 不要在测试之间重置系统;
原文转自:http://www.uml.org.cn/Test/201106012.asp