软件测试反向思维:
出发点:测试是为发现错误而执行一个程序或者系统的过程。
测试是为了证明程序有错,而不是证明程序无错误
一个好的测试用例在于它能发现以前未发现的错误
一个成功的测试是发现了以前未发现的错误的测试
软件测试流程:
获取测试需求:通过对软件需求的分析,抽离需要测试的需求点
制定测试计划方案:针对我们即将开展的测试活动,进行整体规划,并在其中规约对应的时
间、参与者、方法、策略及其他重要事项。GB-软件测试计划模板
测试设计与开发:震度测试活动,进行测试用例设计与测试脚本开发。
注意:正式的测试活动执行开始前,需要先进行严密的分析、计划与周详的设计。
执行测试:执行各类已经制定好的测试策略
缺陷跟踪:需要针对测试过程中找到的缺陷进行系统的跟踪,以确保所有缺陷都被严肃对待
(而非修复)
测试分析和评审:1、测试过程分析(是否按照计划严格执行;是否进行了完备的补充测
试)2、缺陷分析(缺陷来源、缺陷原因、缺陷严重程度、优先级、缺陷密度等)可以帮助开
发团队在下一次的开发过程中,人为的引入缺陷;3、评审各测试产出物是否符合对应标准
(行业标准、公司标准)
测试总结与评估:针对本次测试的整体过程进行总结分析,并针对当前软件产品的质量进行
评估,并最终向决策者提供产品发布信心
•单元测试
单元测试又称模块测试,是针对软件设计的最小单位——程序模块进行正确性检验的
测试工作
•集成测试
集成测试也叫做组装测试。通常在单元测试的基础上,将所有的程序模块进行有序的、
递增的测试
•确认测试
确认测试也叫有效性测试。是在模拟的环境下,验证软件的所有功能和性能及其他特性
是否与用户的预期要求一致
•系统测试
系统测试是在真实的系统运行的环境下,检查完整的程序系统能否和系统(包括硬件、
外设、网络和系统软件、支持平台等)正确配置、连接,并最终满足用户的所有需求
•验收测试
是软件产品检验的最后一个环节。按照项目任务书或合同、供需双方约定的验收依据文
档进行的对整个系统的测试与评审,决定是否接收或拒收系统
按开发阶段划分的测试方法当中,需要特别注意的是,此类别在当前的互联网产品测试过程
中,已经被运用到了各个测试阶段,而非某种独立的测试方法;
Tips:要求下课后去网上寻找软件测试经典V模型,来进一步加深对此类测试方法的理解;
黑盒测试
通过软件的外部表现来发现其缺陷和错误。黑盒测试法把测试对象看成一个黑盒子,完全不
考虑程序内部结构和处理过程
白盒测试
通过对程序内部结构的分析、检测来寻找问题。白盒测试可以把程序看成装在一个透明的盒
子里,检查是否所有的结构及路径都是正确的
灰盒测试
介于白盒测试与黑盒测试之间的测试。灰盒测试关注输出对于输入的正确性;同时也关注内
部表现
无论面对任何软件产品,都可以采用黑盒测试方法来进行针对软件功能的确认测试;
黑盒测试测功能,白盒测试测代码
静态测试
指不实际运行被测对象,而只是静态地检查程序代码、界面或文档中可能存在错误的过程
代码测试:主要测试代码是否符合相应的标准和规范
界面测试:主要测试软件的实际界面与需求中的说明是否相符
文档测试:主要测试用户手册和需求说明是否真正符合用户的实际需求
动态测试
指实际运行被测对象,输入相应的测试数据,检查实际输出结果和预期结果是否相符的过
程。所以我们判断一个测试属于动态测试还是静态测试,唯一的标准就是看是否运行程序
黑盒测试、白盒测试并不与动态测试、静态测试直接关联
黑盒测试当中,动态测试为主,静态测试为辅
白盒测试当中,静态测试为主,动态测试为辅
功能测试:针对软件在需求中所标明的所有功能进行验证和确认的测试过程
界面测试:针对软件的界面进行检查,一般会参照行业对应的界面检查单。所检查的内容包
含界面元素、配色方案、按钮设计、及其他与界面交互相关的元素;
易用性测试:针对软件使用过程,是否符合用户使用习惯,是否符合行业规范,以及是否符
合以”最易模式“操作软件的原则
兼容性测试:系统兼容(操作系统类别)、硬件兼容(产品硬件)、版本兼容(数据在自身
版本中的兼容度)