- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件测试技术和质量保证12-14.ppt
软件测试技术与质量保证 主讲人:徐丽 4.7 可测性 4.7.1 要有一套统一打印函数及详细的说明 在同一项目组或产品组内,要有一套统一的为集成测试与系统联调准备的调测开关及相应打印函数,并且要有详细的说明。 说明:本规则是针对项目组或产品组的。 4.7.2 信息串的格式要统一 在同一项目组或产品组内,调测打印出的信息串的格式要有统一的形式。信息串中至少要有所在模块名(或源文件名)及行号。 说明:统一的调测信息格式便于集成测试。 4.7.5 使用断言来发现软件问题 使用断言来发现软件问题,提高代码可测性。 说明:断言是对某种假设条件进行检查(可理解为若条件成立则无动作,否则应报告),它可以快速发现并定位软件问题,同时对系统错误进行自动报警。断言可以对在系统中隐藏很深,用其它手段极难发现的问题进行定位,从而缩短软件问题定位时间,提高系统的可测性。实际应用时,可根据具体情况灵活地设计断言。 4.7.6 使用断言检查非法情况 用断言来检查程序正常运行时不应发生但在调测时有可能发生的非法情况。 4.7.7断言的正确使用 不能用断言来检查最终产品肯定会出现且必须处理的错误情况。 说明:断言是用来处理不应该发生的错误情况的,对于可能会发生的且必须处理的情况要写防错程序,而不是断言。如某模块收到其它模块或链路上的消息后,要对消息的合理性进行检查,此过程为正常的错误检查,不能用断言来实现。 4.7.8 对较复杂的断言加上明确的注释 说明:为复杂的断言加注释,可澄清断言含义并减少不必要的误用。 4.7.9 用断言确认函数的参数 示例:假设某函数参数中有一个指针,那么使用指针前可对它检查,如下。 int ExamFun(unsigned char *str) { EXAM_ASSERT(str != NULL); //用断言检查“假设指针不为空”这个条件 ... //other program code } 4.7.10 确保不使用没有定义的特性或功能 用断言保证没有定义的特性或功能不被使用。 示例:假设某通信模块在设计时,准备提供“无连接”和“连接” 这两种业务。但当前的版本中仅实现了“无连接”业务,且在此版本的正式发行版中,用户(上层模块)不应产生“连接”业务的请求,那么在测试时可用断言检查用户是否使用“连接”业务。 #define EXAM_CONNECTIONLESS 0 //无连接业务 #define EXAM_CONNECTION 1 // 连接业务 ? int MsgProcess(EXAM_MESSAGE *msg) { unsigned char service; /* message service class */ ? EXAM_ASSERT(msg != NULL); ? service = GetMsgServiceClass(msg); ? EXAM_ASSERT(service != EXAM_CONNECTION); // 假设不使用连接业务 ? ... //other program code } 对编译器提供的功能及特性假设可用断言检查,原因是软件最终产品(即运行代码或机器码)与编译器已没有任何直接关系,即软件运行过程中(注意不是编译过程中)不会也不应该对编译器的功能提出任何需求。 示例:用断言检查编译器的int型数据占用的内存空间是否为2,如下。 EXAM_ASSERT(sizeof(int) == 2); 4.7.12 正式软件产品中应把断言及其它调测代码去掉 正式软件产品中应把断言及其它调测代码去掉(即把有关的调测开关关掉)。 说明:加快软件运行速度。 4.7.13 不能影响软件实现的功能 在软件系统中设置与取消有关测试手段,不能对软件实现的功能等产生影响。 说明:即有测试代码的软件和关掉测试代码的软件,在功能行为上应一致。 4.7.14 减少维护的难度 用调测开关来切换软件的DEBUG版和正式版,而不要同时存在正式版本和DEBUG版本的不同源文件,以减少维护的难度。 4.7.15 确保软件版本在实现功能上的一致性 软件的DEBUG版本和发行版本应该统一维护,不允许分家,并且要时刻注意保证两个版本在实现功能上的一致性。 4.7.16 编写代码之前要注意的事项 在编写代码之前,应预先设计好程序调试与测试的方法和手段,并设计好各种调测开关及相应测试代码如打印函数等。 说明:程序的调试与测试是软件生存周期中很重要的一个阶段,如何对软件进行较全面、高率的测试并尽可能地找出软件中的错误就成为很关键的问题。因此
文档评论(0)