51Testing软件测试论坛

标题: 单元测试指导 [打印本页]

作者: bobli    时间: 2004-6-14 23:52
标题: 单元测试指导
这是交大慧谷软件测试沙龙二期张华先生与大家分享的内容,很有用的

单元测试指导

一、单元测试环境配置测试
1. 网络连接是否正常
2. 网络流量负担是否过重
3. 软件测试平台是否可选
4. 如果(3),是否在不同的软件测试平台进行软件测试
5. 所选软件测试平台的版本(包括Service Pack)是否正确
6. 所选软件测试平台的参数设置是否正确
7. 所选软件测试平台上正在运行的其它程序是否会影响测试结果
8. 画面的分辨率和色彩设定是否正确
9. 对硬件测试平台的要求和支持程度

二、代码测试
A 静态测试
1. 同一程序内的代码书写是否为同一风格
2. 代码布局是否合理、美观
3. 程序中函数、子程序块分界是否明显
4. 注释是否符合既定格式
5. 注释是否正确反映代码的功能
6. 变量定义是否正确(长度、类型、存储类型)
7. 子程序(函数和方法)接受的参数类型、大小、次序是否和调用模块相匹配合
8. 函数的返回值类型是否正确
9. 程序中是否引用了未初始化变量
10. 数组和字符串的下标是否为整数
11. 数组和字符串的下标是否在范围内(不“越界”)
12. 进行数组的检索及其它操作中,是否会出现“漏掉一个这种情况”
13. 是否在应该使用常量的地方使用了变量(例:数组范围检查)
14. 是否为变量赋予不同类型的值
15. (14)的情况下,赋值是否符合数据类型的转换规则
16. 变量的命名是否相似
17. 是否存在声明过,但从未引用或者只引用过一次的变量
18. 在特定模块中所有的变量是否都显式声明过
19. 非(18)的情况下,是否可以理解为该变量具有更高的共享级别
20. 是否为引用的指针分配内存
21. 数据结构在函数和子程序中的引用是否明确定义了其结构
22. 计算中是否使用了不同数据类型的变量
23. 计算中是否使用了不同的数据类型相同但长度不同的变量
24. 赋值的目的变量是否小于赋值表达式的值
25. 数值计算是否会出现溢出(向上)的情况
26. 数值计算是否会出现溢出(向下)的情况
27. 除数是否可能为零
28. 某些计算是否会丢失计算精度
29. 变量的值是否超过有意义的值
30. 计算式的求值的顺序是否容易让人感到混乱
31. 比较是否正确
32. 是否存在分数和浮点数的比较
33. 如果(32),精度问题是否会影响比较
34. 每一个逻辑表达式是否都得到了正确表达
35. 逻辑表达式的操作数是否均为逻辑值
36. 程序中的Begin…End和Do…While等语句中,End是否对应
37. 程序、模块、子程序和循环是否能够终止
38. 是否存在永不执行的循环
39. 是否存在多循环一次或少循环一次的情况
40. 循环变量是否在循环内被错误地修改
41. 多分支选择中,索引变量是否能超过可能的分支数
42. 如果(41),该情况是否能够得到正确处理
43. 全局变量定义和用法在各个模块中是否一致
44. 是否修改了只作为输入用的参数
45. 常量是否被作为形式参数进行传递

B 动态测试
1. 测试数据是否具有一定的代表性
2. 测试数据是否包含测试所用的各个等价类(边界条件、次边界条件、空白、无效)
3. 是否可能从客户那边得到测试数据
4. 非(3)的情况下,所用的测试数据是否具有实际的意义(客户业务上的)
5. 是否每一组测试数据都得到了执行
6. 每一组测试数据的测试结果是否与预期结果一致
7. 文件的属性是否正确
8. 打开文件语句是否正确
9. 输入/输出语句是否与格式说明书所记述的一致
10. 缓冲区大小与记录长度是否匹配
11. 使用文件前是否已打开了文件
12. 文件结束条件是否存在
13. 产生输入/输出错误时,系统是否进行检测并处理
14. 输出信息中是否存在文字书写错误和语法错误
15. 数字输入框是否接受数字输入
16. (15)的情况下、数字是否按既定格式显示
17. 数字输入框是否拒绝字符串和“非法”数字的输入
18. 组合框是否的能够进行下拉选择
19. 组合框是否能够进行下拉多项选择
20. 对于可添加数据组合框,添加数据后数据是否能够得到正确显示和进行选择
21. 列表框是否能够进行选择
22. 多项列表框是否能够进行多数据项选择
23. 日期输入框是否接受正确的日期输入
24. 日期输入框是否拒绝错误的日期输入
25. 日期输入框在日期输入后是否按既定的日期格式显示日期
26. 单选组内是否有且只有一个单选钮可选
27. 如果单选组内无单选钮可选,这种情况是否允许存在
28. 复选框组内是否允许多个复选框(包括全部可选)可选
29. 如果复选框组内无复选框可选,这种情况是否允许存在
30. 文本框及某些控件拒绝输入和选择时显示区域是否变灰或按既定规约处理
31. 文本框中数据格式(大小、对齐方向、颜色、背景)是否符合规范
32. 密码输入框是否按掩码的方式显示
33. 控件是否存在默认输入值,若存在,默认值是否得到显示和提交
34. Cancel之类的按钮按下后,控件中的数据是否清空复原或按既定规约处理
35. Submit之类的按钮按下后,数据是否得到提交或按既定规约处理
36. 异常信息表述是否正确
37. 软件是否按预期方式处理错误
38. 文件或外设不存在的情况下是否存在相应的错误处理
39. 软件是否严格的遵循外设的读写格式
40. 产生的文件和数据表的格式是否正确
41. 产生的文件和数据表的计算结果是否正确
42. 打印的报表是否符合既定的格式
43. 错误日志的表述是否正确
44. 错误日志的格式是否正确

C GUI测试
1. 窗体是否能够基于相关的输入或菜单命令适当的打开
2. 窗体是否能够改变大小、移动和滚动
3. 窗体的数据是否能够利用鼠标、功能键、方向箭头和键盘操作
4. 当窗体被覆盖并重新调用后,窗体是否能够正确再生
5. 窗体相关的功能是否可以操作
6. 是否显示相关的下拉菜单、工具条、滚动条、对话框、按钮、图标和其他控制,既能正确显示又能调用
7. 显示多窗体时,窗体名称是否能够正确表示
8. 活动窗体是否能够被反显加亮
9. 多用户联机时所有窗体是否能够实时更新
10. 鼠标无规则点击时是否会产生无法预料的结果
11. 窗体声音及提示是否符合既定编程规则
12. 窗体是否能够被关闭
13. 窗体控件的大小、对齐方向、颜色、背景等属性的设置值是否和程序设计规约相一致
14. 窗体控件布局是否合理、美观
15. 窗体控件TAB顺序是否从左到右,从上到下
16. 窗体焦点是否按照编程规范落在既定的控件上
17. 窗体画面文字(全、半角、格式、拼写)是否正确
18. 鼠标有多个形状时是否能够被窗体识别(如漏斗状时窗体不接受输入)

[ Last edited by bobli on 2004-6-15 at 09:21 ]
作者: 尼古丁    时间: 2004-6-26 10:34
什么是静态测试,什么是动态测试
在代码测试中,如何区分他们,我看看都差不多
没有明显的区别。谢谢
作者: bobli    时间: 2004-6-26 13:45
标题: 还是有区别
静态测试是指测试不运行的部分——只是检查和审阅;动态测试是指通常意义上的测试——运行和使用软件。
作者: xx_focus    时间: 2004-7-4 13:53
初来乍到,感觉不错
作者: longstar    时间: 2004-7-6 16:31
谢谢!
作者: zxl9961309    时间: 2004-7-7 17:27
新手上路
作者: zxl9961309    时间: 2004-7-7 17:30
请教一下,Bobli!
我想多找一些关于单元测试的资料,能给我推荐一下吗?
作者: lolo    时间: 2004-7-7 17:35
太全面了,实在是感激不尽呀
作者: bobli    时间: 2004-7-7 18:56
标题: 单元测试的什么资料?
zxl9961309

想要什么资料?
作者: zxl9961309    时间: 2004-7-8 11:19
之前所做的测试都是功能性测试,所以对单元测试不是很清楚。想要些单元测试的一些基础入门知识!
作者: zxl9961309    时间: 2004-7-8 11:33
怎么感觉动态测试和GUI测试,跟功能性测试差不多诶!
是不是都是在系统界面中操作的啊?有什么区别吗?
作者: bobli    时间: 2004-7-8 12:01
标题: 推荐一本书给你看看
《软件测试技术概论》

作者:古乐、史九林

出版社:清华大学出版社

本书是一本比较全面的介绍软件测试方法的书籍,先介绍软件测试技术的发展历史和现状;然后,作为测试的一个基础,介绍了白盒测试、黑盒测试以及测试覆盖率等几个重要的概念,并充分分析了业界在这几个概念方面的研究成果;之后从全流程测试的角度按动态测试和静态测试两个方面,分别介绍了单元测试、集成测试、系统测试、验证和确认过程、需求测试和设计测试等内容。作为静态测试的一个重要手段,本书还对同行评审的概念和方法进行了阐述。最后,作者总结了测试的基本原则和一些好的实践经验。
作者: katefan    时间: 2004-7-10 12:01
标题: 这本书我有了
呵,,这本书我有看,写的的确好细,可惜我还没有入门,很多概念看得好晕呀,有的理解不了,特别是测试技术分析之类的,是不是先看一本测试入门的书呀,
作者: zxl9961309    时间: 2004-7-12 14:50
:d
谢谢!
作者: bobli    时间: 2004-7-14 18:11
标题: katefan:
理解不了就拿上来问啊!大家一起学习嘛!
作者: 紫燕归    时间: 2004-7-16 08:49
标题: :)))))))))))
3Q~~~~~~~~~~~~~~`
作者: katefan    时间: 2004-7-17 15:38
呵,好的,等我先回去多找点问题来,到时可别烦我哦:p
作者: zxl9961309    时间: 2004-7-19 13:13
我想求教一下,单元测试的测试环境怎么搭建哦?
想了一会儿,不懂?
请大家教教我!
作者: 天网    时间: 2004-7-20 12:42
这里有很多关于单元测试的提问,很多问题都类似,建议先看看其他类似帖子,或许可以解答你的问题,例如“单元测试的疑惑”的问题贴。
作者: liangwu    时间: 2004-7-23 18:19
谢谢了
作者: 东方一华    时间: 2004-8-11 17:34
hao ding
作者: wangnan    时间: 2004-8-12 11:32
大家好:

谁有《软件测试技术概论》的电子版书籍啊!如果谁有的话可不可以给我发一份过来呢?小女子将会感激不尽的......

作者:古乐、史九林

出版社:清华大学出版社

我的邮箱是wn-nacy@163.com
谢谢大家了!
作者: Fuli    时间: 2004-8-27 11:50
好帖!
作者: axi2004    时间: 2004-9-2 09:59
标题: 新手上路
请问作测试,要从哪里开始入手
作者: bobli    时间: 2004-9-8 00:38
axi2004:

你的问题实在是太大,其实你可以先看看入门的书,也可以参加我们的培训,系统地学习一下:

www.51testing.net
作者: xinwuhan2006    时间: 2004-11-27 13:02
标题: 欢迎有总结作用的文章!
也欢迎软件测试人才来(IT外企)联宇技术(武汉)有限公司应聘!有意者请把简历发至lilylilymail@163.net,联系张经理!谢谢!
作者: cici3377    时间: 2004-12-8 19:36
标题: 单元测试(黑盒)
可不可以归一下类,比如
单元测试:
  1. 功能测试,
  2. 图形用户界面测试
  3. 性能测试
  4. 可靠性测试
  5. 信息安全性测试
  6. 压力测试

哪位,可否再补充一下
作者: 小飞鱼    时间: 2004-12-9 16:46
Originally posted by zxl9961309 at 2004-7-8 11:19 AM:
之前所做的测试都是功能性测试,所以对单元测试不是很清楚。想要些单元测试的一些基础入门知识!



GUI测试特指对于界面的相关测试,动态测试是和静态相对而言.
作者: 烟酒情色    时间: 2004-12-15 16:33
看的我都晕了,还是没有看明白,
作者: lixin    时间: 2005-1-12 17:39
ありがとう ございます
作者: 箫澜子    时间: 2005-3-2 11:48
个人认为单元测试理论的力量是有限的,真正需要的是实践!从实践中体会理论!
作者: 513Testing    时间: 2005-3-20 00:53
但是很多公司都是希望有经验的去做工作,而不是要应界生去做
看来都在考虑成本问题~
作者: dxyz_lee    时间: 2005-3-23 19:22
haodongxi!!!
作者: dragon21    时间: 2005-5-17 17:39
顶!写的挺好的。我对楼主这样的人始终是顶礼膜拜的。!
作者: mel_snow    时间: 2005-6-21 08:38
请问一般谁是单元测试的执行者?是developer还是tester? 我们以前都是developer自己做单元测试。感觉这个单元测试的范围已经介入比较深的内部程序逻辑了。tester不应该介入编程这么深
作者: mel_snow    时间: 2005-6-21 08:51
这个单元测试的指导更适合在编程之前界定下来,作为developer的编程指导,这样出来的代码会规范很多,然后编程结束后由developer自己参照这个规则做单元测试。这是不是就是“先有测试,再有编程“的概念?
tester应该从功能测试开始介入,是不是这么理解?
作者: oncea2003    时间: 2005-11-16 17:49
自己做的东西自己来测,除非你有很高的职业道德!
作者: freedomcs    时间: 2005-11-18 21:34
看来测试也不容易啊
努力学习ing!!
作者: lijt    时间: 2005-11-29 20:56
thanks
作者: angel20041021mm    时间: 2006-1-4 09:27
good!
作者: 一枚钻戒    时间: 2006-1-9 11:25
郁闷呢!很多公司都要有测试经验的,怎么能入行呢?
作者: qubitstar    时间: 2006-2-24 17:21
那位前辈,有测试概论的,我也想要 !邮箱:licaijunminmin◎163。com
作者: 天生我才    时间: 2006-4-24 07:49
谢谢斑竹
作者: 423799223    时间: 2006-12-12 17:22
非常不错
谢谢
作者: 雷声之前    时间: 2007-1-6 23:15
标题: 回复 #36 mel_snow 的帖子
单元测试一般是有开发人员做的,测试人员起到监督的作用

对于代码只有开发人员自己写的才能看得容易一些,测试人员想看明白代码要花费比较长的时间,所以我个人认为,还是在做设计的时候就要把思想统一,那么以后测试人员在读代码的时候不会太费劲!

新手一个,说的有不妥的地方请大家批评指正!3Qsdlkfj6
作者: windyfreeze    时间: 2007-4-20 17:01
谢谢,已经收藏了
作者: nicholas.hl    时间: 2007-5-25 15:53
原帖由 bobli 于 2004-6-26 13:45 发表
静态测试是指测试不运行的部分——只是检查和审阅;动态测试是指通常意义上的测试——运行和使用软件。


YES
作者: liulinzhu    时间: 2007-7-24 15:42
讲的不错,
动静之前有所了解
啥时候能学一下GUI测试哦。。。。。。
作者: belie    时间: 2007-9-16 13:45
谢谢,学习!!~~
作者: 乖乖好乖    时间: 2007-10-3 22:28
太可爱啦你..呵呵
作者: walkman2508    时间: 2007-10-8 02:19
内容比较多,先收藏了
作者: jiaerxue    时间: 2007-10-12 16:37
标题: 多谢
内容不错
作者: yjiang    时间: 2007-11-2 16:52
标题: 回复 3# 的帖子
最好有描述怎么做单元测试的实例
作者: shauton    时间: 2008-1-4 09:28
现在的测试大部分还是要手工测试,好多工具虽然实用,但有的时候根本用不上。
作者: chencuirongchen    时间: 2008-1-25 14:46
标题: 太好了,见解很好
见解很好,受益很深,谢谢
作者: 暗涧幽火    时间: 2008-1-30 11:26
不错的啊!很好啊!!
作者: awei0610    时间: 2008-2-28 10:53
感觉分析的挺多。看起来不够直观。
作者: acerling    时间: 2008-3-21 09:57
标题: 3q
非常感谢分享啊!在学习中
作者: zhsumei    时间: 2008-3-21 10:10
谢谢!
学习ing
作者: muerte    时间: 2008-4-17 11:13
静态测试通常是使用的方法是桌面代码检查法,代码质量度量法,(概念记得不清楚了),这类的测试主要是借助单元测试工具
动态测试,通常是在使用或者编译该代码过程的测试,也有很多的方法
作者: worldcrisis    时间: 2008-12-3 10:00
新手上路哈
作者: Dackyli    时间: 2008-12-4 17:32

作者: siwanglongjuan    时间: 2008-12-16 10:56
顶,好帖
作者: belie    时间: 2009-2-19 14:55
感谢分享!~
作者: fhhgx    时间: 2009-3-17 16:08
可能有好多公司在做单元测试中的动态测试做的比较好,但做静态测试时,往往都不那么认真了,都交给测试部门去做了
作者: fhhgx    时间: 2009-3-17 16:11
标题: 谢谢楼主

作者: 小不点蜗牛    时间: 2009-12-27 12:46
深有感悟,我明白了,i got it,不错,
作者: 顾亭亭7094    时间: 2011-4-11 21:01
不错!!
作者: wscqb    时间: 2012-5-9 15:51
好 东西啊
作者: wscqb    时间: 2012-5-28 10:44
谢谢分享




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2