白盒测试:白盒测试又叫单元测试,针对函数的测试。全面了解程序内部逻辑结构,对所有的逻辑路径都进行测试,一般为开发人员对函数的测试 ,了解数据流向,哪个情况走IF,哪个情况走else;
黑盒测试:黑盒测试又叫功能测试(集成测试),针对功能的测试。不了解具体功能组成的测试行为,一般为产品经理对整个功能验收的测试。检查程序功能是否按照需求规格说明书的规定正常使用。
回归测试:修改旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。
手动测试:基于main函数,编写测试样例,手动执行程序,手动检查程序结果是否满足预期要求的测试;
自动测试:用测试程序批量、反复测试功能程序,并可自动检查功能程序输出结果是否满足预期要求。
1、maven添加依赖(pom.xml)
junit junit 4.12 test
2、idea安装插件
3、修改默认及输出路径
输出路径:${SOURCEPATH}/../../test/java/${PACKAGE}/${FILENAME}
4、编写测试类模板
5、 编写样例
// src/main/java/Triangle.java
public class Triangle {public boolean judgeEquals(int a, int b, int c){if(a <= 0 || b <= 0 || c <=0 )return false;//两边之和小于第三边if(a+b <= c || a+c <= b || b+c <= a ){return false;}return true;}
}
6、生成对应测试类
import junit.framework.TestCase;
// static 引用Assert的静态方法
import static org.junit.Assert.*;
/*** @author: Shism* @Date: Created in 13:44 2023/3/15* @Description:**/
public class TriangleTest extends TestCase {public void testJudgeEquals() {Triangle triangle = new Triangle();//参数1为参数2的预期结果,不同抛出异常assertEquals(false, triangle.judgeEquals(-1,2,3));// import static 引用Assert的静态方法 相当于下句//Assert.assertEquals(false, triangle.judgeEquals(1,2,3));}
}
7、单测试结果
修改函数为错误
测试:
8、多测试类测试
9、多测试样例测试1
9、偏僻概念
一个测试类中只能声明此注解一次,此注解对应的方法只能被执行一次@BeforeClass
使用此注解的方法在测试类被调用之前执行@AfterClass
使用此注解的方法在测试类被调用结束退出之前执行
一个类中有多少个@Test注解方法,以下对应注解方法就被调用多少次
@Before
在每个@Test调用之前执行@After
在每个@Test调用之后执行@Test
使用此注解的方法为一个单元测试用例,一个测试类中可多次声明,每个注解为@Test只执行一次@Ignore
暂不执行的测试用例,会被JUnit4忽略执行