-软件测试课件第3章软件测试方法静态测试与动态测试PPT内容-.docx
《-软件测试课件第3章软件测试方法静态测试与动态测试PPT内容-.docx》由会员分享,可在线阅读,更多相关《-软件测试课件第3章软件测试方法静态测试与动态测试PPT内容-.docx(10页珍藏版)》请在课桌文档上搜索。
1、”软件测试课件第3章软件测试方法静态测试与动态测试PPT内容”1、第3章软件测试方法(一)静态测试与动态测试3静态测试技术概述静态测试是不执行被分析的程序,而是通过对模块源代码进行研读、找出其中的错误或可疑之处,收集一些度量数据。静态测试包括对软件产品的需求和设计规格说明书的评审、对程序代码的复审等。静态测试的查错和分析功能是其他方法所不能替代的,可以采纳人工或者计算机帮助静态测试手段进行检测。代码检查主要检查代码和设计的全都性,代码对标准的遵循,可读性,代码规律表达正确性,代码结构合理性等方面;发觉程序中担心全、不明确和模糊部分,找出程序中不行移植部分;发觉违反程序编写风格问题。其中包括变量
2、检查、命名和类型审查、程序规律审查、程序语法检查和程序2、结构检查等内容。包括桌面检查、代码审查和走查等3.1静态测试技术概述桌面检查桌面检查是一种传统的检查方法,由程序员自己检查编写的程序。由于程序员熟识自己的程序和程序设计风格,桌面检查由程序员自己进行可以节约许多检查时间。桌面检查需要首先运行拼写检查器、语法检查器、句法检查器等进行字面检查,现在大多数集成开发环境集成了这些相应的工具关心程序员在编写代码的同时就留意这些可能存在的缺陷。代码检查3.1静态测试技术概述Eg:第28行:返回数据类型应当为int,写成了Int;第33行:缺少标点符号,丁;第37行:返回的关键字return拼写错误;
3、第41行:关键字this”,写成了that3、。代码检查3.1静态测试技术概述桌面检查代码审查代码审查是由若干程序员和测试人员组成一个审查小组,通过阅读、争论和争议,对程序进行静态分析的过程。代码审查分为两步:1.小组负责人提前把设计规格说明书、掌握流程图、程序文本以及有关要求、规范等分发给小组成员,作为审查的依据;2.小组成员在充分阅读这些材料后,召开程序审查会,在会上首先由程序员逐行讲解程序规律,在此过程中程序员或其他小组成员可以提出问题绽开争论,审查错误是否存在。代码检查3.1静态测试技术概述重要性激活结果检查项总计命名重要Y通过命名规章是否与所采纳的规范保持全都?是否遵循了最小长度最多
4、信息原则?重要Y通过has/can/i4、S前缀的函数是否返回布尔型?解释重要Y通过解释是否较清楚且必要?重要Y通过简单的分支流程是否已经被解释?Y不通过距离较远的是否已经被解释?Y不通过非通用变量是否全部被解释?重要Y不通过函数是否已经有文档解释?(功能、输入、返回及其他可选)特别用法是否被解释?声明、空白、缩进Y通过每行是否只声明白一个变量?(特殊是那些可能出错的类型)重要Y通过变量是否已经在定义的同时初始化?重要Y通过类属性是否都执行了初始化?Y通过代码段落是否被合适地以空行分隔?Y通过是否合理地使用了空格使程序更清楚?Y通过代码行长度是否在要求之内?Y通过折行是否恰当?代码检查3.1静
5、态测试技术概述Java代码审查检查表语句5、/功能的分布/规模Y通过包含复合语句的是否成对消失并符合规范?Y不通过是否给单个的循环、条件语句也加了?Y通过if/if-else/if-elseif-else/do-while/switch-case语句的格式是否符合规范?Y通过单个变量是否只做单个用途?重要Y通过单行是否只有单个功能?(不要使用;进行多行合并)重要Y通过单个函数是否执行了单个功能并与其命名相符?Y通过操作符和操作符的应用是否复合规范?规模重要Y通过单个函数不超过规定行数?重要Y通过缩进层数是否不超过规定?重要Y通过是否已经消退了全部警告?重要Y通过常数变量是否声明为final?重
6、要Y不通过对象使用前是否进行了检查?重6、要Y不通过局部对象变量使用后是否被复位为NULL?重要Y通过对数组的访问是否是平安的?(合法的index取值为0,MAX_SIZE-1)。重要Y通过是否确认没有同名变量局部重复定义问题?Y通过程序中是否只使用了简洁的表达式?重要Y通过是否已经用()使操作符优先级明确化?重要Y通过全部推断是否都使用了(常量二变量)的形式?是否消退了流程悬挂?重要Y不通过是否每个if-elseif-else语句都有最终一个else以确保处理了全集?重要Y通过是否每个switch-case语句都有最终一个default以确保处理了全集?Y通过for循环是否都使用了包含下限不
7、包含上限的形式?(k=0;kMAX)重要7、XML标记书写是否完整,字符串的拼写是否正确?Y不通过对于流操作代码的特别捕获是否有finally操作以关闭流对象?退出代码段时是否对临时对象做了释放处理?重要Y通过对浮点数值的相等推断是否是恰当的?(严禁使用=直接推断)代码检查3.1静态测试技术概述Java代码审查检查表牢靠性(函数)重要Y通过入口对象是否都被进行了推断不为空?重要Y通过入口数据的合法范围是否都被进行了推断?(尤其是数组)重要Y通过是否对有特别抛出的方法都执行了try.catch爱护?重要Y通过是否函数的全部分支都有返回值?重要Y通过int的返回值是否合理?(负值为失败,非负值胜利
8、)Y通过对于反复进行了Mt返回值推断是8、否定义了函数来处理?关键代码是否做了捕获特别处理?重要是否确保函数返回CC)RBA对象的任何一个属性都不能为null?重要Y通过是否对方法返回值对象做了null检查,该返回值定义时是否被初始化?重要Y通过是否对同步对象的遍历访问做了代码同步?重要Y通过是否确认在对Map对象使用迭代遍历过程中没有做增减元素操作?重要Y通过线程处理函数循环内部是否有特别捕获处理,防止线程抛出特别而退出?原子操作代码特别中断,使用的相关外部变量是否恢复从前状态?重要Y通过函数对错误的处理是恰当的?可维护性重要Y通过实现代码中是否消退了直接常量?(用于计数起点的简洁常数例外)
9、是否消退了导致结构模糊的连续赋值?(如a=(9、b=d+c)Y通过是否每个return前都要有日志记录?Y通过是否有冗余推断语句?(如:if(b)returntrue;elsereturnfalse;)是否把方法中的重复代码抽象成私有函数?代码检查3.1静态测试技术概述代码检查常见错误表走查走查与代码审查基本相同,其过程分为两步:1.把材料先发给走查小组的每个成员,仔细讨论程序,然后开会;2.开会的程序与代码审查不同,不是简洁的读程序和对比错误检查表进行检查,而是让与会者充当计算机,即首先由测试组成员为所测程序预备一批有代表性的测试用例,提交给走查小组,走查小组开会扮演计算机角色,让测试用例沿
10、程序规律运行一遍,随时记录程序的跟踪10、,供分析和争论用。代码检查3.1静态测试技术概述多次拷贝字符串:测试所不能发觉的一个错误是生成不行变(immutab对象的多份拷贝。不行变对象是不行转变的,因此不需要拷贝它。最常用的不行变对象是String。假如你必需转变一个String对象的内容,你应当使用StringBUffer。下面的代码可以正常工作:Strings=newString(Texthere);但是,这段代码性能差,而且没有必要这么简单。可以用以下的方式来重写上面的代码:Stringtemp=Texthere;Strings=newString(temp);但是,这段代码包含额外的S
11、tringo更好的代11、码为:Strings=Texthere;代码检查3.1静态测试技术概述Java代码的走查与审查中常见错误:没有克隆(Clone)返回的对象:封装(encapsulation)是面对对象编程的重要概念。但是Java为打破这种封装供应了便利Java允许返回私有数据的引用(reference)。代码检查3.1静态测试技术概述JaVa代码的走查与审查中常见错误:检查new操作的结果是否为nullJava编程新手有时候会检查new操作的结果是否为null。可能的检查代码为:检查虽然没有错误,但却没有必要。CC+程序员在开头写JaVa程序的时候经常会这么做,这是由于检查CC+中m
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 测试 课件 方法 静态 动态 PPT 内容
链接地址:https://www.desk33.com/p-959256.html