一、软件测试的过程
V模型的左边对应软件开发过程:需求分析、概要设计、详细设计、编码
V模型的右边对应软件测试过程:单元测试、集成测试、系统测试、验收测试。
基于软件测试的每个过程详解
什么是单元测试?
什么叫单元--单元其实就是程序功能的最小单位的简称。
例如:函数是实现某个需求的功能。
案例:是一个自我的介绍功能。
所有的软件产品都是由程序员依据需求规格说明书的要求按照一定的功能来实现编码的过程。
第一个功能指的是一个函数或者方法,其中单独的每个语句块的变量的定义可以称之为最小单元,这个就是单元测试。
单元测试属于白盒测试的一种,白盒测试是其实代码的,所以要想做好单元测试需要测试人员具备一定的编程功底。
在国内单元测试一般是由程序员来做的,市场上单纯的单元测试岗位很少,基于作为一名专业的测试人员不仅要会单元测试、集成 测试,系统测试都要会。
提前介入测试。
单元测试是基于底层代码的一种测试
def myself(): print("我是%s,我的职务是%s"%("匡老师","测试讲师")) myself() def add(a,b): c=a+b return c add(1,2)
单元测试中的实测模块可以理解成单独的某个类文件某个方法或者某个函数或者某个变量的定义与使用。
集成测试(接口测试)
半成品
将多类文件集成在一块变成一个完整的子系统
提前介入测试工作。
集成测试阶段的介入时机:前端界面还未出来需要实施测试工作,后端的接口已经测试通过能够达到提测标题就可以实施集成测试。
什么是集成测试?一个完整的系统是由多个子系统组装而成的一个庞大的大系统。
一个电商系统:商品管理、订单管理、权限管理等相关子系统组成。
单独的一个系统能够正常工作,但是将所有的孩子 集成在一块并不能确保系统能够稳定开展工作。
所以为了更好地保障系统的质量,实施单元测试之后需要将多个系统进行集成,让所有的系统集成在一块都能够正常工作。
将多个子组装成一个大系统的过程就开展集成的过程,测试是针对于集成后的系统进行的,集成测试是基于接口的一种测试。
接口测试的特点:验证系统的业务逻辑结构与实际业务需求是否匹配,接口是基于协议的。
基于协议只需要通过协议名称、服务器ip地址、端口号、路径、字符编码、参数、响应--提交信息、返回--服务器等相关内容 。
带有参数的post,带有参数可供查询的是get接口。
至少要会一款抓包工具,要具备一定的系统分析业务的能力。
接口测试主要测试系统的业务逻辑关联参数取值的正确性。
一个接口的接口参数会被下一个模块接口请求调用。
接口测试的工作原理机制
例如:接口参数通过服务器---传递给数据库服务器,再响应返回给客户端的过程----通信的过程。
计算机网络---权限认证---加密--RSA ASE等相关的加密方法。
要学会接口测试需要 具备一定的接口测试基础,至少会使用一款接口测试工具,企业中常用的接口测试工具有:postman\JMeter比较流行的工具
jmeter不仅可以用来做接口测试还可用来实施性能测试。
遵循软件测试的原则:应尽量或者迟早地开展软件测试工作,降低软件测试的成本,提升软件测试的效率,降低产品发布的风险。
接口测试的目的:能够发现功能测试发现不了的问题。
测试开发岗:不仅要会测试还需要会开发。
开发的产品是帮助测试部门来解决测试问题的。例如:测试平台---用来管理测试人员日常工作的过程输出情况,用来帮助测试人员提升测试工作效率的。
系统测试:功能测试(点点点)与性能测试阶段。
冒烟测试---覆盖主流程的一种测试方法。
兼容性测试:浏览器、操作系统、分辨率
移动端兼容:兼容网络(3G/4G/5G)、手机品牌与型号的兼容、信号、防干扰性等相关的测试。
链接测试
前后端联调后发布到测试环境开展的一种系统测试。
系统测试是将多个子系统组装成一个完成的系统,进入系统测试阶段所有的前后端功能都要开发完成。
系统测试阶段主要验证需求的功能是否得到满足,也就是需求能够满足用户的要求。
系统测试是基于界面的测试如果测试接口测试,用户在提交数据时可以直接通过接口与服务器端产生交互。
如果后端程序没有对接口的功能验证规则进行控制,用户就可以绕过前端直接向服务端提交数据。
性能测试不是找功能bug,一定要保障功能测试通过后再开展性能测试,相当于性能测试是用来测试系统的服务器瓶颈。
java代码的监控、mysql代码的监控。
硬件资源的监控与分析、系统架构的分析。
能够为用户提供系统调优方案
自动化测试是功能测试的一种,主要为了帮助大家提升功能测试效率而诞生。
会自动化测试一定要会使用测试工具。
一个完整的产品(衣服)是由很多个零部件组成,单独的一个小产品是由很多个零部件组成的半成品,完成的产品是多个半成品组装而成品。
一个完整的产品是由零部件、多个半成品组装而成的。
验收测试:
验证测试也叫交付测试,是在系统测试阶段之后实施的,在生产环境发布之前进行验收。
验证测试需要用户参与验证,验证测试有相应的验收流程与规范。
验证测试分类:
如果开发的软件是供软件公司内部使用,一般验收测试由运营部负责人验收。
如果开的软件是交付给客户公司,需要客户代表参与验收。
测试人员的需求验收标准是由产品经理验收 。
如果是公司内的软件产品经理验收通过需要企业运营人员对产品经理的需求进行验收,如果验收通过则允许发布生产环境。
测试人员不仅仅要负责测试环境的测试,还需要负责上线环境的走查测试。
测试环境详解【QA/UAT/PRE/PRD】
QA环境指测试环境---bug最多
UAT指的是用户验收测试环境(内部产品经理验收测试人员成果是否符合需求)--相比较QA环境bug逐步减少
PRE环境(灰度环境)模拟真实的线上生产环境--bug消除达到98%以上
PRD指的是线上生产环境--不要出现严重级别高的bug,必须消除,但是允许出现一些低级别的bug,不影响用户使用操作的。