- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2.1 术语和目的 软件是无形产品,唯一能够直接检验软件产品的方法就是非常仔细的阅读开发文档。 但软件的动态行为无法通过阅读开发文档的方式来检验,必须让需要检验的软件在计算机上执行,通过测试(testing)的方式进行检验,并且将检验到的软件功能与给定的需求相比较,来验证软件的正确性。程序的缺陷可以通过测试找出来,从而有效地降低了软件应用的风险(risk)。 软件测试能够提高软件质量。 这是通过识别缺陷并对这些缺陷进行相应的调试及修正实现的。 测试同时也是衡量软件质量的手段。 如果测试用例是软使用的合理样本,那么用户所体验到得软件质量应该和测试时所体验到得软件质量不会有太大差异。 所有质量特征(quality characteristic)(或称质量属性quality attribute)都必须在测试时加以考虑,以判断软件产品总体质量。实现必须定义每个质量特征对应的测试对象应该具备什么等级的质量,通过有效地测试对预先定义的质量需求进行验证。 软件质量范畴 质量属性: 功能性(funcitonality) 可靠性(reliability) 可用性(usability) 效率(efficiency) 可维护性(maintainability) 可移植性(portability) 为质量特征赋予优先级:这个概念可以为测试时如何针对不同的质量特征决定测试级别强度提供指导。 完全测试 测试不能证明不存在缺陷。要证明系统不存在缺陷,测试必须用所有可能的输入值,以所有可能的方式来执行程序。 完全测试(complete test)或穷尽测试(exhaustive test)定义: 测试套件包含了输入值和前置条件所有可能组合的测试方法。 完全测试是不可能的示例:一个简单的控制流小程序进行测试 关于测试工作量的几点结论: 根据项目的不同,测试工作量或者花费在测试上的预算差别极大。 故障可能引发高成本。“只要寻找和修正缺陷的成本低于失效造成的损失,测试就应该继续下去”。 根据风险确定测试的广度和深度 选择正确的测试规程 只提供需求中要求的功能 测试用例爆炸(test case explosion) 测试用例及其演化出的测试用例可能在短时间内演变成成百上千次测试。这个问题通常称为”组合爆炸“。 每个软件开发项目的资源都是有限的。 测试经理只有运用周详的计划和有效地策略,才能成功地应对这个挑战。 软件测试的总体过程:规划与设计 在软件工程中实施结构化的测试时,用上述过程模型所描述的任务作为指南,指导如何在项目中进行结构化的测试是远远不够的。 除了整个开发过程中需要有测试之外,测试任务本身需要更加详细的过程。这意味着作为开发任务的组成部分,测试必须拆分成更小的子任务。 2.2.1 测试计划和控制 最主要的任务是确定测试策略(test strategy) 既然穷尽测试是不可能的,那么必须在风险评估的基础上设置测试优先级。根据预测的风险和失效影响的严重性,相应的测试行为必须分配到每一个子系统中。重要的子系统需要得到更多的关注,因此应该更细致彻底地进行测试。 测试策略的目标是将测试最优地分配到软件系统中“最需要测试”的部分。 示例:VSR子系统策略选择 DreamCar允许客户配置自己的汽车以及汽车的附加设备 ComtractBase管理所有的客户信息和合同数据; 策略确定:彻底细致地测试 JustInTime实现网上订单处理功能; 策略确定:订单数据不可变更性和不可丢失性非常重要。所有应该对订单数据进行彻底细致的测试。 EasyFinance为客户计算最佳的付款方式; NoRisk提供适当的保险购买功能。 策略确定:要求测试其所有的主要功能(计算出价格表,记录并且处理合同,保存并打印合同等等)。测试集中在最常见的价格组合。 2.2.2 测试分析和设计 第一任务:对测试依据(test basis)进行评审。 最重要的任务是开发测试用例。 测试用例的规格说明分两步: 首先要定义逻辑测试用例(logical test case) 逻辑测试用例(logical test case):不需要具体的输入或输出值的测试用例。大多数情况下,只是描述了条件或者等价类。 然后,选择实际输入,将逻辑测试用例转换成具体测试用例(concrete test case) 具体测试用例(concrete test case):测试数据具有具体值的测试用例。 测试用例的例子:教材P20页 测试用例的种类 测试用例的种类可以用下面的两条准则区分 第一种是用来检查特定的行为、输出和反应的测试用例。 另一种测试用例是用例检查测试对象对无效以及意外的输入或者条件的反应。 2.3 测试心理学 人性的弱点 开发人员测试 对自己错误的盲视
原创力文档


文档评论(0)