(一)软件测试的分类:
(1)黑盒测试:测试工程师
黑盒测试又叫做功能测试,主要是检测每个功能是否都能正常使用
在测试中,把程序看成一个不能打开的黑盒子,在完全不考虑内部程序结构的情况, 进行测试,只要针对软件界面和软件功能的测试。
(2)白盒测试:开发工程师
白盒测试又称为结构测试、透明盒测试、逻辑驱动测试或基于代码的测试,主要检测代码逻辑是否正常。
在白盒测试中,必须检查代码的逻辑和内部结构,从逻辑着手,得出测试的数据,按照程序内部结构进行测试。
这一方法是把测试看成是一个打开的合资,测试人员很清楚里面的内容是如何运作的。
(二)使用Junit4进行单元测试
使用步骤
(1)把Junit4的测试类库引入到该项目中来
(2)定义一个测试类,起名字起称:待测试类+Test,例如:待测试类是Person,写成PersonTest
(3)注意:单元测试类,必须要有一个public权限的空参构造
(4)测试方法的书写:
@Test
public void testPrintArr() {
}
(5)编写测试代码:
@Test
public void testPrintArr() {
Integer[] arr = {1, 2, 3};
ArrayTools.printArr(arr);
}
(6)运行:选中要运行的测试方法的方法名称,鼠标右键 -> Run as -> Junit Test
注意事项:方法时public修饰的,返回值为void,该方法上必须要有@Test注解
常见注解:
(1)@Test 要执行的测试方法
(2)@Before 每次执行测试方法之前都会执行的代码
(3)@After 每次执行测试方法只有都会执行的代码
(4)@BeforeClass 在所有方法执行之前执行,只在最初执行一次,只能修饰静态方法
(5)@AfterClass 在所有方法执行之后执行,只在最后执行一次,只能修饰静态方法
> package com.offcn.test;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import com.offcn.demos.ArrayTools;
public class ArrayToolsTest {
public ArrayToolsTest() {}
@AfterClass
public static void testAfterClass() {
System.out.println("@AfterClass执行了。。。");
}
@BeforeClass
public static void testBeforeClass() {
System.out.println("@BeforeClass执行了。。。");
}
@After
public void testAfter() {
System.out.println("@After执行了。。。");
}
@Before
public void testBefore() {
System.out.println("@Before执行了。。。");
}
@Test
public void testPrintArr() {
Integer[] arr = {1, 2, 3};
ArrayTools.printArr(arr);
}
@Test
public void test1() {
int i = 10 / 0;
}
}
(四)规范的Juint测试方式
1、已知要测试的类
2、根据待测试的类生成测试类:
3、选择要测试的方法: