大体来说,开发人员开发源程序,测试人员找bug,中间人产品经理。
黑盒测试:(不看代码)
白盒测试:
1、基于覆盖:语句、分支(if、for、真假)、方法
结构:顺序、分支(T or F,做出选择)、循环(T or F)
如:if(a>b || c<d){ } //判断真假,测试三种a>b c<d a>b&c<d
2、基于功能
(1)做测试基于功能的多的原因:产品最终只是在实现功能、覆盖代价大,还要进一步做分析
提供给测试人员的是源程序,(可能还有说明书)
编程考虑两点:输入 , 输出
测试对应任务:测试用例, bug
input , output(实际输出与期望输出比较 ' assertEquals(exp,turlyOutput); ' )
评价测试质量:覆盖率,检错能力
测试用例生成:Junit、Randoop
Randoop(参考Randoop手册)
介绍:
写测试是一个困难和耗时的工作,但它是良好的软件工程的重要组成部分。Randoop自动生成的Java类的单元测试。Randoop已经有许多成功的应用,特别是与库类(如java.util中)。
Randoop输出两个类型的测试:
- 错误显露测试是检测你当前的代码中的bug
- 回归测试可以用来检测未来的错误。
您应该修复由错误显露测试套件透露然后重新运行Randoop错误,直到它不会产生更多的错误显露测试。然后,只要你改变你的源代码,通知你让你的程序的行为的任何改变就可以运行回归测试。您可以随时重新运行Randoop检查是否有新的错误,以生产试验新编写的代码,或再生导致所期望的行为,变化的代码改变后的测试。
Randoop的测试没有被设计成短或易于阅读 - 但你将只读取他们在极少数情况下,当他们失败,并显示错误或回归失败。
安装及环境变量配置:
于官网下载Randoop.zip,然后解压到你想要放置的位置。
右击我的电脑,打开属性>高级系统配置,环境变量,在系统变量中添加三个东西:
1' 新建变量名为 RANDOOP_PATH 变量值:点击浏览目录,找到并选择你解压Randoop.zip的路径,如:E:\randoop-3.1.5
2' 新建变量名 RANDOOP_JAR 变量值:点击浏览文件,找到例如版本randoop-all-3.1.5.jar的文件路径,如:E:\randoop-3.1.5\randoop-all-3.1.5.jar
3' 找到变量名 CLASSPATH 在原有的后面添加上一个jar文件的路径,如:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;E:\randoop-3.1.5\randoop-all-3.1.5.jar
运行:
配置好环境变量之后,打开cmd,通过调用Randoop的主函数(randoop.main.Main)来运行Randoop,在命令行中输入命令:java -ea randoop.main.Main
▲此外,
Randoop支持两个命令:
- help打印出用法信息。示例使用:
- java的-ea -classpath $(RANDOOP_JAR)randoop.main.Main帮助
- java的-ea -classpath $(RANDOOP_JAR)randoop.main.Main帮助gentests
- gentests生成单元测试。使用示例:
- 的java -ea -classpath myclasspath:$(RANDOOP_JAR)randoop.main.Main gentests --testclass = java.util.TreeSet中--timelimit = 60