什么是软件测试:
软件测试不仅仅是对计算机相关程序以及相关文档的测试,他更是软件研发过程中一系列质量活动的总称,包括质量鉴定和质量评定。
手工测试:
手工测试就是由人工一个个去执行测试用例的过程,以此查看软件是否符合需求说明。
自动化测试:
自动化测试是由机器代替人工去执行测试的过程;测试人员需要编写自动化脚本,比如使用python语言。
黑盒测试:
黑盒测试是不考虑程序内部实现逻辑(不查看代码),仅从功能界面上对程序进行的测试;一般由测试人员去做。
白盒测试:
白盒测试是考虑程序内部实现逻辑,对所有逻辑路径进行覆盖测试;一般是开发人员自己完成。
按阶段划分:
单元测试:
单元测试就是对程序中的最小可测单元进行的测试;最小可测单元一般是人为规定的,但一般为一个函数或一个方法;一般由开发人员完成。
集成测试:
集成测试是将已经经过测试的两个或多个单元进行组接,以测试他们之间接口的测试;一般由测试人员完成。
系统测试:
系统测试是对软硬件进行的全部的测试,包括功能、安全性、性能、易用性、美观性等。
UAT测试:
用户验收测试(用户可接受性测试),在软件交付时,用户需要对程序进行整体的验收测试,一般测试用例选取系统测试的部分用例进行;
正式验收测试:用户让第三方专业验收机构进行程序验收。
非正式验收测试:1.alpha测试:由一个或者多个用户在开发环境下对软件进行的测试,一般开发人员在场,发现问题由开发人员自己进行记录;因此测试是可控的; 2.beta测试:由一个或者多个用户在生产环境下对软件进行的测试,一般开发人员不在场,发现问题由用户记录并反馈开发,因此测试是不可控。
功能测试:
只对软件的业务功能进行的测试,不包括安全性、性能、易用性、美观性等。
非功能测试:
安全性、性能、易用性、美观性等。
冒烟测试:
冒烟测试是对程序的最基本功能进行的测试;冒烟测试通过,版本正式进入系统测试阶段,若冒烟测试不通过,则版本打回开发;冒烟测试是由测试人员完成的。
测试用例设计方法:
等价类:
由于测试数据通常是无限的,因此可以使用等价类划分法将数据划分为有效和无效等价类,选取数据时只需要从有效和无效等价类中挑选出有代表性的数据即可。
有效等价类:有效等价类是对于程序而言有意义的、正确的输入;
无效等价类:无效等价类是对于程序而言无意义的、错误的输入;
边界值:
通常人为程序出错经常在边界附近,因此使用边界值分析法减少测试数据;
三点:
上点:边界上的点
内点:边界内的点,内点可不测
离点:离点是离上点最近,且和上点不在同一等价类的点
流程分析法:
流程分析法又被称为场景法,它是将测试数据分为基本流(正确的流程)和备选流(异常的流程);基本流使用黑直线表示,备选流可以使用弯曲的细线表示。
使用流程分析法编写测试数据时,先考虑所有正常情况,再考虑所有异常情况