100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 《软件测试和质量管理》实验报告1——白盒测试

《软件测试和质量管理》实验报告1——白盒测试

时间:2023-03-29 02:13:37

相关推荐

《软件测试和质量管理》实验报告1——白盒测试

一、目的和要求

(1)掌握白盒测试技术,并能应用白盒测试技术设计测试用例

(2)能用Junit实施测试

二、实验内容

int DoWork(int x,int y,int z){1 int k=0,j=0;2 if(( x>3 ) && ( z<10 ))3 {4 k=x*y-1;5 j=sqrt(k);6 }7 if(( x= =4 ) || ( y>5 ))8 j=x*y+10; 9 j=j%3; 10 return j;11 }

说明:程序段中每行开头的数字(1~11)是对每条语句的编号。

(1)分别以语句覆盖、判定覆盖、条件覆盖和路径覆盖方法设计测试用例,并写出每个测试用例的执行路径(用题中给出的语句编号表示)。

(2)编写Java类,调用该方法,并用Junit测试工具编写测试代码进行测试。

程序共有4条路径: P1(1-2-3-4-5-6-7-8-9-10)P2(1-2-3-4-5-6-7-9-10)P3(1-2-7-8-9-10)P4(1-2-7-9-10)

测试代码:

import org.junit.jupiter.api.Test;import static org.hamcrest.MatcherAssert.*;import static org.hamcrest.Matchers.*;public class Exp1Test {private Exp1 exp1;public Exp1Test() {exp1 = new Exp1();}@Testpublic void statementConvergeTest() {// 语句覆盖测试assertThat(exp1.doWork(4, 6, 9),is(1));}@Testpublic void decisionConvergeTest() {// 判定覆盖测试assertThat(exp1.doWork(5, 4, 9),is(1));assertThat(exp1.doWork(4, 4, 11),is(2));}@Testpublic void conditionConvergeTest() {// 条件覆盖测试assertThat(exp1.doWork(4, 6, 11),is(1));assertThat(exp1.doWork(2, 4, 9),is(0));}@Testpublic void pathConvergeTest() {// 路径覆盖测试assertThat(exp1.doWork(4, 6, 9),is(1));assertThat(exp1.doWork(5, 4, 9),is(1));assertThat(exp1.doWork(4, 4, 11),is(2));assertThat(exp1.doWork(2, 4, 9),is(0));}}

三、测试用例的编写

四、测试结果的分析

所有测试结果均没有任何问题,基本达成设计要去,所有测试样例均测试通过,符合预期结果。

五、测试文档的撰写

本次实验采用白盒测试方法,分别采用语句覆盖,条件覆盖,判定覆盖,路径覆盖四种测试方式对测试内容进行不同的测试,测试工具使用了Junit包。

语句覆盖的测试样例一例,判定覆盖和条件覆盖的测试样例两例,路径覆盖的测试样例四例,构建关于实验内容的测试类,并且在测试类内建立四个测试方法,分别在各自的测试方法中完成对测试样例的测试。

六、心得与体会

通过这次实验,我学会了使用Junit框架的对程序进行白盒的单元测试,当你在做测试前,你可能会想要使用多种不同的测试数据,针对同样的操作或功能进行测试,关键就是设计好完善且合适的测试样例,既不能样例重复繁多,也不能太少不够,要保证能够实现测试路径的有效覆盖。

本次实验主要实践了语句覆盖,条件覆盖,判定覆盖,路径覆盖四种设计测试样例的方式,通过真正意义上的体会,使我更深入的理解了测试方法的好处,为以后的软件质量测试的过程奠定了基础。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。