静态测试和动态测试活动 2

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

静态测试方法

静态测试包括代码检查、静态结构分析、代码质量度量等。它可以由人工进行,充分发挥人的逻辑思维优势,也可以借助软件工具自动进行。

1、代码检查:

代码检查包括代码走查、桌面检查、代码审查等,主要检查代码和设计的一致性,代码对标准的遵循、可读性,代码逻辑表达的正确性,代码结构的合理性等方面;可以发现违背程序编写标准的问题,包括变量检查、命名和类型审查、程序逻辑审查、程序语法检查和程序结构检查等内容。

在实际使用过程中,代码检查不动态测试更有效率,能快速找到缺陷,发现30%-70%的逻辑设计和编码缺陷;代码检查看到的是问题本身而非征兆。但是代码检查非常耗费时间,而且代码检查需要知识和经验的积累。代码检查应在编译和动态测试之前进行,在检查前,应准备好需求描述文档、程序设计文档、程序的源代码清单、嗲吗编码标准和代码缺陷检查表等。2、静态结构分析

静态结构分析主要是以图形的方式表现程序内部结构,例如函数调用关系图、函数内部控制流图。其中函数调用关系图以直观地图形方式描述一个应用程序中各个函数的调用和被调用关系;控制流图显示一个函数的逻辑结构,它由许多节点组成,一个节点代表一条语句或数条语句,连接节点的叫边,边表示节点间的控制流向。

检查项:

•代码风格和规则审核

•程序设计和结构的审核

•业务逻辑的审核

走查、审查与技术复用手册

(1)静态测试要点:

1)同一程序内的代码书写风格是否为同一风格

2)代码布局是否合理、美观

3)程序中函数、子程序块分界是否明显

4)注释是否符合既定格式

5)注释是否正确反映代码的功能

6)变量定义是否正确(长度、类型、存储类型)

7)是否引用了未初始化变量

8)数组和字符串的下标是否为整数

9)数组和字符串的的下标是否在范围内(不“越界”)

10)进行数组的检索及其他操作中,是否会出现“漏掉一个这种情况”

11)是否在应该使用常量的地方使用了变量(例如:数组范围检查)

12)是否为变量赋予了不同类型的值

13) 12)的情况下,赋值是否符合数据类型的转换规则

14)变量的命名是否相似

15)是否尊在声明过,但从未引用或者只引用过一次的变量

16)在特定的模块中所有的变量是否都显示声明过

17)在非16)的情况下,是否可以理解为该变量具有更高的共享级别

18)是否为引用的指针分配内存

19)数据结构在函数和子程序中的引用是否明确定义了其结构

20)计算中是否使用了不同数据类型的变量

21)计算中是否使用了相同的数据类型但长度不同的变量

22)赋值的目的变量是否小于赋值表达式的值

23)数值计算是否会出现溢出(向上、向下)的情况

24)除数是否可能为零

25)某些计算是否丢失计算精度

26)变量的值是否超过有意义的值

27)计算的求职顺序是否容易让人感到混乱

28)比较是正确的

29)是否存在分数和浮点数的比较

30)如果29),精度问题是否会影响比较

31)每一个逻辑表达式是否都得到了正确的表达

32)逻辑表达式的操作数是否为逻辑值

33)程序中的begin.....end和do....while等语句中,end是否对应

34)程序、模块、子程序和循环是否能够终止

35)是否存在永不执行的循环

36)是否存在多循环一次或循环一次的情况

37)循环变量是否存在在循环内被错误的修改

38)多分支选择中,索引变量是否能够超过可能的分支数

39)如果38),该情况是否能够得到正确处理

40)子程序接受的函数类型、大小、次序是否和调用模块相匹配

41)全局变量定义和用法在各个模块中是否一致

42)是否修改了只作为输入用的参数

43)常量是否被作为形式化参数进行传递

(2)动态测试要点

1)测试数据是否具有一定的代表性

2)测试数据是否包含测试所用的各个等价类(边界条件、次边界条件、空白、无效)3)是否可能从客户那边得到测试数据

4)非3)的情况下,所用的测试数据是否具有实际的意义

5)每一组测试数据的测试结果是否与预期结果一致

6)文件的属性是否正确

7)打开文件语句是否正确

8)输入输出语句是否与格式说明书所记述的一致

9)缓冲区大小与记录长度是否匹配

10)使用文件前是否已经打开了文件

11)文件结束条件是否存在

12)产生输入输出错误时,系统是否进行检测并处理

13)输出信息中是否存在文字书写错误和语法错误

14)空间尺寸是否大小适宜

15)空间颜色是否符合规约

16)空间布局是否合理、美观

17)控件TAB顺序是否从左到右,从上到下

18)数字输入框是否接受数字输入

19)在18)的情况下,数字是否按既定格式显示

20)数字输入框是否拒绝字符创和“非法”数字的输入

21)组合框是否能够进行下拉选择

22)组合框是否能够进行下拉多项选择

23)对于可添加数据组合框,添加数据后是否能够得到正确显示和进行选择

24)列表框是否能够进行选择

25)多项列表框是否能够进行多数据项选择

26)日期输入框是否接受正确的日期输入

27)日期输入框是否拒绝错误的日期输入

28)日期输入框在日期输入后是否按既定的日期格式显示日期

29)单选组内是否有且只有一个单选按钮可选

30)如果单选组内无单选按钮可选,这种情况是否允许存在

31)如果复选框内无复选框可选,这种情况是否允许存在

32)复选框组内是否允许多个复选框(包括全部可选)可选

33)文本框及某些控件拒绝输入和选择时显示区域是否变灰或按既定规约处理

34)密码输入框是否按掩码的方式显示

35)Cancel之类的按钮按下后,控件中的数据是否哦清空复原或按既定规约处理

36)Submit之类的按钮按下后,数据是否得到提交或按既定规约处理

37)异常信息表述是否正确

38)软件是否按预期方式处理错误

39)文件或外设不存在的情况下是否存在相应的错误处理

40)软件是否严格的遵循外设的读写格式

41)画面文字(全、半角、格式、拼写)是否正确

42)产生的文件和数据表的格式是否正确

43)产生的文件或数据表的计算结果是否正确

44)打印的报表是否符合既定的格式

45)错误日志的表述是否正确

46)错误日志的格式是否正确

软件测试是比较辛苦的事情,但又不是没有章法的,你一旦掌握了一定的技巧之后,将对你有事半功倍的效果。

A.边界测试:测试用户输入框中的数值的最大数和最小数,以及为空时的情况

B.非法测试,例如在输入数字的地方输入字母

C.跟踪测试,跟踪一条数据的流程,保证数据的正确性

D.在开始测试时应保证数据的正确性,然后再从系统中找出各种BUG

E.接口测试,程序往往在接口的地方很容易发生错误,要在此模块测试勿掉以轻心

F.代码重用测试,在开发过程中有些模块功能几乎相同,程序员在重用代码时可能忘记在原有代码上修改或修改不全面,而造成错误。

G.突发事件测试,服务器上可能发生意外情况的测试

H.外界环境测试,有些系统在开发时依赖于另一个系统,当另一个系统发生错误时,这个系统所受到影响的情况。

I.缺陷验证,在程序员刚修复Bug之后的地方,一定要再次验证、测试,往往程序员只修改报告出来的缺陷而不去考虑别的功能在修改时可能最重新造成错误。

J.做好BUG管理工作,认真做好测试记录,在做完一天的测试记录之后,第二天再根据的测试记录重复测试你会发现有未修正的错误。

K.错字、错词测试,如果在系统中有用此不当的地方,我想这事不应该的

L.系统兼容测试,例如有些程序在IE6能运行正常,单IE5下缺不能运行。有些程序在WIN200下能运行,而到WIN98却不能运行。像有些很特别的用户去使用系统,你很有可能发现BUG。M.用户的易用性测试,往往用户的需求是不断变化的,而其中一部分变化的原因,是由于用户操作上不方便引起的。

N.

相关文档
最新文档