黑盒测试
黑盒测试也称功能测试,它是通过测试来检查每个功能是否都能正常使用。
在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格正常使用,程序是否能适当地接受输入数据而产生正确的输出信息。
黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。
黑盒测试是以用户的角度,从输入数据与输出数据的对应关系出发进行测试的;
很明显,如果外部特性本身设计有问题或规格说明的规定有误,用黑盒测试方法是发现不了的;
作用:
黑盒测试法注重于测试软件功能需求,主要试图发现下列几类错误;
功能不正确或遗漏;
界面错误;
输入和输出错误;
数据库访问错误;
性能错误;
初始化和终止错误等;
白盒测试:软件开发工程师
又称结构测试,透明盒测试,逻辑驱动测试或基于代码的测试。
它是按照程序内部的结构测程序,通过测试来检测产品内部动作是否按照设计规格说明书的规定正常进行
检测程序中的每条通路是否都能够按照预定要求正确工作。这一方法是把测试对象看作一个打开的盒子,测试人员依据程序内部逻辑结构相关信息;
设计或选择测试用例,对程序所有逻辑路径进行测试,通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。
白盒测试是一种测试用例设计方法,盒子指的是被测试的软件,白盒指的是盒子是可视的,你清楚盒子内部的东西以及里面是如何运作的
“白盒”法全面了解程序内部逻辑结构,对所有逻辑路径进行测试。测试者必须检查程序的内部结构,从程序的逻辑着手,得出测试数据。
单元测试就是白盒测试
在你不知道如何测试代码前,就不要写代码去完成功能--------->测试先行
java的单元测试:JUnit存在两个版本;
1、JUnit3.x 针对于java5之前的版本,没有注解,得按照规范来写测试,Android中使用JUnit3.x;
2、JUnit4.x 针对于java5以及之后的版本,使用注解,推荐
如何做测试,使用断言方式:
期望值:断言时希望时什么
真实值:程序内部运算之后实际是什么
断言成功:期望值和真实值相同,此时显示绿条
断言失败:期望值和真实值不同,此时显示红条
方法:
1、Assert.assertEquals(message,expected,actual);比较的值
三个参数:
message:断言失败的提示信息,断言成功不会显示
expected:期望值
actual:真实值
若真实值和期望值想等,则断言成功----------->绿条
2、Assert.assertSame(message,expected,actual);比较地址,是同一个对象
Assert.assertNotSame(message,expected,actual);断言不是一个对象
3、Assert.assertTure(message,condition);断言condition应该为True
4、Assert.assertFalse(message,condition);断言condition应该为FALSE;
5、Assert.assertNull(message,object);断言对象object为null;
6、Assert.assertNotNull(message,object);断言对象object不为null
7、@Test(expected=ArithmeticException.class)
期望该方法报错,报错ArithmeticException。
8、@Test(timeout=400)
期望该方法在400毫秒之内执行完成