测试基础

1.软件测试可以简单理解为一个用来鉴定软件是否符合需求以及是否有缺陷的过程,从不同的维度可以细分为不同的测试类型。

  1. 根据测试方法可以分为:
    • 黑盒测试:最基础的功能测试,不用考虑代码实现,俗称点点点
    • 白盒测试:基于逻辑驱动或者基于代码测试,去研究代码中的接口或者具体实现的正确性。
    • 灰盒测试:介于黑盒测试跟白盒测试之间。

         2.根据测试目标可以分为:

    1)功能测试:对产品和模块的各个功能进行测试  

               2)性能测试:对系统的各项性能指标进行测试

               3)压力测试

               4)兼容性测试

               5)安全性测试、弱网测试、易用性等其它专项测试

        3.根据软件开发阶段来划分,

    1)单元测试:对独立模块进行白盒测试,包含最小单元。

               2)集成测试:通过对单元模块进行组合测试,目的是验证单元模块之间的接口是否正确

               3)系统测试:对整个系统进行完整测试,验证整个系统的正确性与合规性

               4)回归测试:当软件发生变更的时候,对这次变更可能受影响的功能模块进行验证,

               5)验收测试:测试的最后一个阶段,软件发布或者上线前确保软件质量

  4.其他常用测试概念
    1)冒烟测试

    2)探索性测试(ET)

 2.自动化测试框架介绍

软件测试的自动化一般可以分为3层, * 代码层的单元测试 * 接口层的集成测试 * UI 层的测试

1)代码层自动化

代码层的自动化一般指针对代码进行的单元测试,比较常用的单元测试框架比如Java的Junit, Python的PyUnit等等。

2)接口层自动化

 接口层的自动化测试主要是对系统和组建之间的接口进行测试,主要目标是校验数据的交换和业务的流程,接口测试可以测试功能、也可以测试性能、测试压力、测试安全等等。由于接口比代码单元要稳定的很多,所以自动化脚本维护成本更低、收益也更大,具有不错的性价比。常用的测试工具有以下:

 3)UI层自动化

 基于UI层的自动化测试框架要复杂很多,从平台种类来讲,有Windows,Linux,Android,Ios,Web,还有最新的小程序等等,下面会简单的和大家捋一遍主流UI层自动化框架的原理、架构以及跨平台能力。

   appium是一款开源的跨平台自动化测试工具,支持IOS、Android、Windows和Mac应用

 原理介绍:

Appium的核心是一个遵守REST设计风格的Web服务器,他会用来接受客户端的连接和指令。由于统一的接口设计,客户端便可以用多种语言来实现,从而用自己喜欢的语言来实现测试用例。

服务端收到测试指令后会发送给设备,在设备层则使用了设备商提供的原生测试框架,比如IOS的XCUITest Driver和UIAutomation Driver, 安卓的UIAutomator和UIAutomator2等等。

 Appium官网: http://appium.io/

 

 

  

       

posted @ 2024-07-09 17:29  止无~  阅读(52)  评论(0)    收藏  举报