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

本文涉及的产品
性能测试 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进行规格选择与性能压测。
相关文章
|
5天前
|
敏捷开发 Java 测试技术
探索软件测试中的自动化测试框架
在软件开发的生命周期中,软件测试扮演着至关重要的角色。随着技术的不断进步和软件项目的日益复杂化,传统的手动测试方法已经无法满足高效、准确的测试需求。自动化测试作为一种提高测试效率和质量的有效手段,越来越受到开发者和测试者的青睐。本文将深入探讨自动化测试框架的重要性、常见的自动化测试工具以及如何选择合适的自动化测试框架。
32 10
|
13天前
|
机器学习/深度学习 前端开发 测试技术
探索软件测试中的自动化测试框架选择与优化策略####
本文深入探讨了在当前软件开发生命周期中,自动化测试框架的选择对于提升测试效率、保障产品质量的重要性。通过分析市场上主流的自动化测试工具,如Selenium、Appium、Jest等,结合具体项目需求,提出了一套系统化的选型与优化策略。文章首先概述了自动化测试的基本原理及其在现代软件开发中的角色变迁,随后详细对比了各主流框架的功能特点、适用场景及优缺点,最后基于实际案例,阐述了如何根据项目特性量身定制自动化测试解决方案,并给出了持续集成/持续部署(CI/CD)环境下的最佳实践建议。 --- ####
|
17天前
|
测试技术 开发者 UED
探索软件测试的深度:从单元测试到自动化测试
【10月更文挑战第30天】在软件开发的世界中,测试是确保产品质量和用户满意度的关键步骤。本文将深入探讨软件测试的不同层次,从基本的单元测试到复杂的自动化测试,揭示它们如何共同构建一个坚实的质量保证体系。我们将通过实际代码示例,展示如何在开发过程中实施有效的测试策略,以确保软件的稳定性和可靠性。无论你是新手还是经验丰富的开发者,这篇文章都将为你提供宝贵的见解和实用技巧。
|
15天前
|
jenkins 测试技术 持续交付
软件测试中的自动化测试策略
在当今快速发展的软件行业中,自动化测试已成为确保软件质量和效率的关键工具。本文将探讨自动化测试的重要性、实施策略以及面临的挑战,旨在为软件开发团队提供实用的指导和建议。
|
24天前
|
测试技术
探索软件测试中的“思维侧翼”——如何以创新思维引领测试策略###
本文旨在探讨软件测试领域中,如何通过培养与运用创新思维,提升测试策略的有效性与效率。不同于传统的技术解析或理论阐述,本文将以“思维侧翼”为喻,启发读者从不同维度审视软件测试,寻找突破常规的思路与方法。我们相信,在快速迭代的软件开发周期中,灵活多变且富有创造力的测试思维,是发现潜在缺陷、保障产品质量的关键。 ###
|
25天前
|
测试技术 定位技术 UED
软件测试的艺术:探索性测试的深度与广度
【10月更文挑战第22天】在软件开发的广阔舞台上,测试扮演着不可或缺的角色。本文将带领读者深入理解探索性测试(Exploratory Testing)的精髓,揭示其在现代软件质量保证中的价值。我们将通过实际案例、生动比喻和具体步骤,展现如何像艺术家一样进行软件测试,确保产品质量的同时,提升测试的效率和乐趣。文章不仅适合初学者建立测试基础,也能帮助资深测试人员深化对探索性测试的理解和应用。
|
23天前
|
监控 安全 jenkins
探索软件测试的奥秘:自动化测试框架的搭建与实践
【10月更文挑战第24天】在软件开发的海洋里,测试是确保航行安全的灯塔。本文将带领读者揭开软件测试的神秘面纱,深入探讨如何从零开始搭建一个自动化测试框架,并配以代码示例。我们将一起航行在自动化测试的浪潮之上,体验从理论到实践的转变,最终达到提高测试效率和质量的彼岸。
|
14天前
|
测试技术 持续交付
软件测试中的自动化测试策略与最佳实践
【10月更文挑战第31天】 在当今快速迭代的软件开发环境中,自动化测试成为确保软件质量和加速产品上市的关键。本文探讨了自动化测试的重要性、实施策略以及一些最佳实践。通过分析不同类型的自动化测试工具和框架,本文旨在为软件开发团队提供一套实用的指导方案,以提高测试效率和质量。
|
29天前
|
测试技术 开发者
探索软件测试中的自动化测试框架
在软件开发的世界中,质量是至关重要的。为了确保软件产品的质量,软件测试扮演着不可或缺的角色。本文将深入探讨自动化测试框架的概念、重要性以及如何有效地实施它们来提高软件测试的效率和效果。我们将从自动化测试的基本概念开始,逐步深入到不同类型的自动化测试工具和框架,最后探讨如何在实际项目中选择合适的自动化测试策略。
|
1月前
|
测试技术
软件测试的艺术:探索性测试的深度与广度
【10月更文挑战第7天】在软件开发的宇宙中,测试是一颗璀璨星辰,指引着质量的方向。本文将带你遨游于测试的海洋,深入探索性测试(Exploratory Testing)的奥秘,从其哲学本质到实践应用,揭示如何通过自由探索来发现软件中的隐藏缺陷。我们将一起思考如何在不断变化的软件环境中,利用探索性测试提高测试效率和效果,确保软件产品的质量。准备好,让我们启航吧!
下一篇
无影云桌面