读书笔记-第一章 自动化测试基础

来源:互联网 发布:通达信手机炒股软件 编辑:程序博客网 时间:2024/05/18 14:14

1.1、软件测试分类


    1.根据项目流程阶段划分软件测试


             1)单元测试(模块测试):对程序中的单个子程序或具有独立功能的代码段进行测试


              2)集成测试:通过单元模块组装成系统或子系统,再进行测试。重点是检查模块之间的接口是否正确。


              3)系统测试:针对整个产品系统进行测试,验证是否满足需求规格说明书的定义,以及软件系统的正确性(个人理解:设计是否符合常理,是否闭环,是否矛盾等)  和性能等是否满足其需求规格的要求。


              4)验收测试:部署软件前的最后一个测试阶段。目的:确保软件准备就绪,向软件购买者展示该软件系统能够满足用户的需求。

                                      V模型                                                                             验收测试         

                                                          需求分析                                  系统测试                                

                                                                      设计                      集成测试      

                                                                             编码       单元测试


    2.根据软件测试工作中对代码的可见程度进行划分


           1)黑盒测试:把被测软件看作黑盒子,只关心软件的输入数据和输出结果。


             2)白盒测试:把盒子打开,研究里边源代码的逻辑和程序执行结果。


             3)灰盒测试:既关注输出对于输入的正确性,也关注内部表现(一般通过一些表征行的现象、事件、标志来判断内部运行状态)


     3.根据软件的不同测试面划分


            1)功能测试:主要检查实际功能是否符合用户的需求(细分为:逻辑功能测试、界面测试、易用性测试、安装测试、兼容性测试等)


              2)性能测试:是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行的测试。(包含时间性能、空间性能)


  • 时间性能:主要指软件的一个具体的响应时间(例如:登录、一个商品交易)备注:需要在搭建好的一个具体且独立的测试环境下进行
  • 空间性能:主要指软件运行时消耗的系统资源(例如:硬件资源,cpu、内存、网络带宽消耗等)

     4.根据测试工作的自动化程度划分


            1)手工测试:由测试人员依次执行测试用例(并非专业术语)


              2)自动化测试:把以人为驱动的测试行为转化为机器执行的一种过程。(分为:功能自动化、性能自动化)

  • 功能自动化测试:通过测试工具(或框架)录制/编写测试脚本,对软件功能进行测试。
  • 性能自动化测试:通过性能工具来模拟成千上万的虚拟用户向系统发送请求,从而验证系统的处理能力。

     5.不算具体明确的测试阶段也不是具体的测试方法却出现在软件测试的周期中的几种测试


           1)冒烟测试:指在对一个新版本进行大规模软件测试前,先投入较少的人力和时间验证一下基本功能是否实现,是否具备可测性。(如果主要功能都没有通过,则打回开发组重新开发~好处:节省时间和人力投入到不可测的项目中)


             2)回归测试:指修改了旧代码后,重新测试以确认修改后没有引入新错误或导致其他代码产生错误。


             3)随机测试:指测试中输入的数据都是随机生成的,其目的是模拟用户的真实操作,并发现一些边缘性错误。(一般放在测试最后,专业升级版:探索性测试)


             4)探索性测试:一种测试思维技术(测试思维方式)


             5)安全测试:对产品进行检验以验证产品符合安全需求定义和产品质量标准的过程。