吃透这些软件测试理论知识要点,你就搞懂了软件测试

本文涉及的产品
性能测试 PTS,5000VUM额度
简介: 吃透这些软件测试理论知识要点,你就搞懂了软件测试

一、软件测试的过程

V模型的左边对应软件开发过程:需求分析、概要设计、详细设计、编码

V模型的右边对应软件测试过程:单元测试、集成测试、系统测试、验收测试。

基于软件测试的每个过程详解

640.jpg

什么是单元测试?

什么叫单元--单元其实就是程序功能的最小单位的简称。

例如:函数是实现某个需求的功能。

案例:是一个自我的介绍功能。

所有的软件产品都是由程序员依据需求规格说明书的要求按照一定的功能来实现编码的过程。

640.jpg

第一个功能指的是一个函数或者方法,其中单独的每个语句块的变量的定义可以称之为最小单元,这个就是单元测试。

单元测试属于白盒测试的一种,白盒测试是其实代码的,所以要想做好单元测试需要测试人员具备一定的编程功底。


在国内单元测试一般是由程序员来做的,市场上单纯的单元测试岗位很少,基于作为一名专业的测试人员不仅要会单元测试、集成 测试,系统测试都要会。

提前介入测试。

单元测试是基于底层代码的一种测试

def myself():
print("我是%s,我的职务是%s"%("匡老师","测试讲师"))
myself()
def add(a,b):
c=a+b
return c
add(1,2)

单元测试中的实测模块可以理解成单独的某个类文件某个方法或者某个函数或者某个变量的定义与使用。


集成测试(接口测试)

半成品

将多类文件集成在一块变成一个完整的子系统

提前介入测试工作。

集成测试阶段的介入时机:前端界面还未出来需要实施测试工作,后端的接口已经测试通过能够达到提测标题就可以实施集成测试。

640.jpg

什么是集成测试?一个完整的系统是由多个子系统组装而成的一个庞大的大系统。

一个电商系统:商品管理、订单管理、权限管理等相关子系统组成。

单独的一个系统能够正常工作,但是将所有的孩子 集成在一块并不能确保系统能够稳定开展工作。

所以为了更好地保障系统的质量,实施单元测试之后需要将多个系统进行集成,让所有的系统集成在一块都能够正常工作。

将多个子组装成一个大系统的过程就开展集成的过程,测试是针对于集成后的系统进行的,集成测试是基于接口的一种测试。

640.jpg

接口测试的特点:验证系统的业务逻辑结构与实际业务需求是否匹配,接口是基于协议的。

基于协议只需要通过协议名称、服务器ip地址、端口号、路径、字符编码、参数、响应--提交信息、返回--服务器等相关内容 。

带有参数的post,带有参数可供查询的是get接口。

至少要会一款抓包工具,要具备一定的系统分析业务的能力。

接口测试主要测试系统的业务逻辑关联参数取值的正确性。

一个接口的接口参数会被下一个模块接口请求调用。

640.jpg

接口测试的工作原理机制

例如:接口参数通过服务器---传递给数据库服务器,再响应返回给客户端的过程----通信的过程。

计算机网络---权限认证---加密--RSA ASE等相关的加密方法。

要学会接口测试需要 具备一定的接口测试基础,至少会使用一款接口测试工具,企业中常用的接口测试工具有:postman\JMeter比较流行的工具

jmeter不仅可以用来做接口测试还可用来实施性能测试。

遵循软件测试的原则:应尽量或者迟早地开展软件测试工作,降低软件测试的成本,提升软件测试的效率,降低产品发布的风险。

640.jpg

接口测试的目的:能够发现功能测试发现不了的问题。

测试开发岗:不仅要会测试还需要会开发。

开发的产品是帮助测试部门来解决测试问题的。例如:测试平台---用来管理测试人员日常工作的过程输出情况,用来帮助测试人员提升测试工作效率的。



系统测试:功能测试(点点点)与性能测试阶段。

冒烟测试---覆盖主流程的一种测试方法。

兼容性测试:浏览器、操作系统、分辨率

移动端兼容:兼容网络(3G/4G/5G)、手机品牌与型号的兼容、信号、防干扰性等相关的测试。

640.jpg

链接测试

前后端联调后发布到测试环境开展的一种系统测试。

系统测试是将多个子系统组装成一个完成的系统,进入系统测试阶段所有的前后端功能都要开发完成。

系统测试阶段主要验证需求的功能是否得到满足,也就是需求能够满足用户的要求。

系统测试是基于界面的测试如果测试接口测试,用户在提交数据时可以直接通过接口与服务器端产生交互。

640.jpg

如果后端程序没有对接口的功能验证规则进行控制,用户就可以绕过前端直接向服务端提交数据。

性能测试不是找功能bug,一定要保障功能测试通过后再开展性能测试,相当于性能测试是用来测试系统的服务器瓶颈。

java代码的监控、mysql代码的监控。

硬件资源的监控与分析、系统架构的分析。

能够为用户提供系统调优方案

自动化测试是功能测试的一种,主要为了帮助大家提升功能测试效率而诞生。

会自动化测试一定要会使用测试工具。


一个完整的产品(衣服)是由很多个零部件组成,单独的一个小产品是由很多个零部件组成的半成品,完成的产品是多个半成品组装而成品。

一个完整的产品是由零部件、多个半成品组装而成的。


验收测试:

验证测试也叫交付测试,是在系统测试阶段之后实施的,在生产环境发布之前进行验收。

验证测试需要用户参与验证,验证测试有相应的验收流程与规范。

640.jpg

验证测试分类:

如果开发的软件是供软件公司内部使用,一般验收测试由运营部负责人验收。

如果开的软件是交付给客户公司,需要客户代表参与验收。

测试人员的需求验收标准是由产品经理验收 。

如果是公司内的软件产品经理验收通过需要企业运营人员对产品经理的需求进行验收,如果验收通过则允许发布生产环境。

640.jpg

测试人员不仅仅要负责测试环境的测试,还需要负责上线环境的走查测试。

测试环境详解【QA/UAT/PRE/PRD】

QA环境指测试环境---bug最多

UAT指的是用户验收测试环境(内部产品经理验收测试人员成果是否符合需求)--相比较QA环境bug逐步减少

PRE环境(灰度环境)模拟真实的线上生产环境--bug消除达到98%以上

PRD指的是线上生产环境--不要出现严重级别高的bug,必须消除,但是允许出现一些低级别的bug,不影响用户使用操作的。

相关实践学习
通过性能测试PTS对云服务器ECS进行规格选择与性能压测
本文为您介绍如何利用性能测试PTS对云服务器ECS进行规格选择与性能压测。
相关文章
|
15天前
|
人工智能 搜索推荐 数据管理
探索软件测试中的自动化测试框架选择与优化策略
本文深入探讨了在现代软件开发流程中,如何根据项目特性、团队技能和长期维护需求,精准选择合适的自动化测试框架。
65 8
|
23天前
|
测试技术 持续交付
探索软件测试中的自动化测试策略
随着软件开发周期的加速和市场需求的不断增长,传统的手动软件测试方法已难以满足现代软件开发的高效性和准确性要求。本文旨在探讨自动化测试在软件测试中的重要性、实施策略及其对提高软件质量的影响。通过分析自动化测试的优势与挑战,以及提供实用的自动化测试工具和框架选择指南,旨在帮助读者理解并应用自动化测试以提升软件开发效率和产品质量。
|
22天前
|
机器学习/深度学习 人工智能 监控
软件测试中的自动化测试策略与最佳实践##
在当今快速发展的软件行业中,自动化测试已成为确保软件质量和加速产品上市的关键工具。本文将探讨自动化测试的重要性,分析不同类型的自动化测试工具和框架,并深入讨论实施自动化测试的最佳实践。通过案例研究和数据分析,我们将揭示如何有效整合自动化测试到软件开发生命周期中,以及它如何帮助团队提高测试效率和覆盖率。 ##
37 1
|
20天前
|
Java 测试技术 API
探索软件测试中的自动化测试框架
本文深入探讨了自动化测试在软件开发中的重要性,并详细介绍了几种流行的自动化测试框架。通过比较它们的优缺点和适用场景,旨在为读者提供选择合适自动化测试工具的参考依据。
|
21天前
|
数据管理 测试技术 持续交付
软件测试中的自动化测试策略与最佳实践
在当今快速迭代的软件开发环境中,自动化测试已成为确保软件质量和加速产品上市的关键手段。本文旨在探讨软件测试中的自动化测试策略,包括选择合适的自动化测试工具、构建有效的自动化测试框架以及实施持续集成和持续部署(CI/CD)。通过分析自动化测试的最佳实践,本文为软件开发团队提供了一系列实用的指南,以优化测试流程、提高测试效率并减少人为错误。
54 4
|
21天前
|
监控 测试技术 定位技术
探索软件测试中的自动化测试框架选择与实施###
本文不概述传统意义上的摘要内容,而是直接以一段对话形式引入,旨在激发读者兴趣。想象一下,你是一名勇敢的探险家,面前摆满了各式各样的自动化测试工具地图,每张地图都指向未知的宝藏——高效、精准的软件测试领域。我们将一起踏上这段旅程,探讨如何根据项目特性选择合适的自动化测试框架,并分享实施过程中的关键步骤与避坑指南。 ###
31 4
|
21天前
|
测试技术 持续交付 数据安全/隐私保护
软件测试的艺术与科学:探索自动化测试框架
在软件开发的世界中,测试是确保产品质量的关键环节。本文将深入探讨自动化测试框架的重要性和实现方法,旨在为读者揭示如何通过自动化测试提升软件测试效率和准确性。我们将从测试的基本概念出发,逐步引导读者了解自动化测试框架的设计和实施过程,以及如何选择合适的工具来支持测试活动。文章不仅提供理论知识,还将分享实用的代码示例,帮助读者将理论应用于实践。无论你是测试新手还是经验丰富的开发者,这篇文章都将为你打开一扇通往更高效、更可靠软件测试的大门。
21 1
|
26天前
|
数据可视化 测试技术 API
软件测试中的自动化测试框架选择与实践
在当今快节奏的软件开发环境中,自动化测试成为了确保软件质量和加速交付的关键。本文将探讨自动化测试的重要性,并比较几种流行的自动化测试框架,包括Selenium、Appium和TestComplete。文章还将提供一些最佳实践和案例研究,以帮助读者更好地理解和实施自动化测试策略。
|
26天前
|
敏捷开发 前端开发 Java
软件测试中的自动化测试框架选择与实践
在当今软件开发生命周期中,自动化测试已成为提升软件质量和开发效率的关键手段。本文旨在探讨自动化测试框架的选择标准及其在实际项目中的应用实践。通过对主流自动化测试框架的分析比较,结合具体案例,本文将阐述如何根据项目需求和团队特点选择合适的自动化测试工具,并分享实施过程中的经验教训。
32 1
|
25天前
|
Java 测试技术 API
软件测试中的自动化测试框架选择与应用##
在快速迭代的软件开发周期中,选择合适的自动化测试框架对于提高软件质量和开发效率至关重要。本文探讨了当前流行的几种自动化测试框架的特点和适用场景,旨在为软件开发团队提供决策依据。 ##