黑盒测试vs白盒测试
黑盒测试
黑盒测试,不考虑程序内部结构和内部特性,从用户观点出发,针对程序接口和用户界面进行测试,根据产品应该实现的功能和已经定义好的产品规格,来验证产品所应该具有的功能是否实现,是否满足用户需求。
黑盒测试主要是测试系统的整体行为,更关注用户行为和用户界面,适合系统的功能测试、易用性测试,也适合和用户共同进行验收性测试。
黑盒测试方法包括:等价类划分法、边界值分析法、判定表方法、因果图法、正交试验法、功能图法、ALAC方法
白盒测试
白盒测试,清楚产品的内部工作过程,可以对产品的每一行语句,每一个测试条件或分支进行测试,是逻辑驱动的方法。白盒测试方法技术性强,且能达到较高的覆盖率。但是,在代码上保证程序没有错误,并不能保证软件没有缺陷。
白盒测试方法包括:语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、基本路径覆盖
静态测试vs动态测试
动态测试
动态测试即为在软件运行时发现问题。最终产品的功能、性能还是需要通过运行来验证是否符合预期目标。
静态测试
随着对软件测试的深入理解,现在已不将软件测试局限在某个阶段,而将软件测试贯穿于整个软件开发的生命周期,软件测试包括了需求和设计验证,以及加强对代码的评审。静态测试即需求评审、设计评审、代码评审等测试。
静态测试能更早的发现需求分析、软件设计等问题,而且能有效检查代码是否具有可读性、可维护性、是否遵守编程规范。
被动测试vs主动测试
主动测试
主动测试一般都是测试人员主动向被测试对象发送请求或借助数据、事件驱动被测试对象的行为。被测试对象完全受测试人员控制,因此被测试对象受人为因素影响过大,且一般都是在被测试环境中进行,与软件产品实际运行环境有一定的区别。
被动测试
被动测试即软件产品运行在实际环境中,测试人员不干预产品的运行,而是被动的监测产品的运行,通过一定的被动机制来获得系统运行的数据。
手工测试vs自动化测试
自动化测试
自动化测试的优点:
a. 高速运行、24小时不间断运行,从而缩短测试周期。
b. 多次重复运行相同的测试,减少测试的单调性。
c. 模拟成千上万的用户同时发出请求、操作。
d. 测试的准确性和客观性能真实反映测试结果。
手工测试
手工测试的一些优势:
A. 能灵活的引入一些操作。
B. 对于复杂的逻辑合理性、界面友好性,测试人员能迅速作出判断,测试工具无能为力。
C. 自动化测试只能按照预先设定的测试用例进行测试,而手工测试具有创造性,可以举一反三。
计划测试vs探索式测试
计划测试
计划测试,目标性强,易管理,覆盖面比较全。设计在前,执行在后,具有可预见性。
探索式测试
事先设计好的测试用例很难覆盖各种情况,特别是一些便边界和特殊操作,因此需要发挥测试人员的灵活性和创造性,去发现一些相对隐藏比较深的或偏僻的软件缺陷。
新功能测试vs回归测试
新功能测试
在一般的测试中,首先会进行新功能验证,一旦发现缺陷,就需要修正缺陷并构造一个新的软件包,然后进行测试。
回归测试
构造一个新的软件包之后进行的测试,要保证以前所有运行正常的功能都保持正常,因为修正缺陷可能会影响其他安全区域,回归测试是为了检验是否会引起原有正常功能出现新的缺陷而进行的测试。