软件测试是评估和验证软件产品和应用程序是否达到预期效果的重要环节,通过测试能够避免一些bug,提升稳定性,验证软件功能是否完整,为用户提供更好的产品服务。
软件测试可分为:
功能性测试是根据产品需求来验证软件系统是否正常的一种软件测试,它的目的是测试软件中每一个功能是否达到预期效果。主要通过输入参数,根据功能需求来验证输出是否正确,它是一种黑盒测试,因为在测试中不涉及到源代码。
功能性测试对于验证软件系统的功能和质量至关重要,QA团队根据产品的需求,通过功能性测试来验证软件功能是否工作正常。
JUnit是在Java中使用最广泛的测试框架,可以通过以下方式引入
Truth是由Guava团队维护的一个代码库,Google内部的代码库也用它来进行测试。
使用它可以让代码更加简洁,易于理解。下面写一个简单的单元测试来验证邮箱和密码是否合法。
在Android Studio项目app/src/test/java目录中创建ValidatorUtilsTest.kt
除了在单元测试中,请不要使用‘xxxx’定义方法名
Mockito是一个非常流行的开源软件测试框架,它极大的简化了对具有外部依赖的类的测试,它能够模拟依赖的类或接口。
通过mock静态方法或@Mock注解来创建模拟对象。when(….).thenReturn(….)
链式调用可以根据指定的参数来返回不同的值。下面写一个针对firebase方法的测试用例。
首先在build.gradle中添加Mockito的依赖
然后编写测试类