回归测试

线上问题复盘

只愿长相守 提交于 2019-12-02 23:53:23
1.事件回顾: 2019.10.29日上线反欺诈优化功能,10月30日上午收到异常监控报警,随后业务反馈属地案调和总部案调无法正常提交。经核实,是因为属地案调和总部案调提交时,由于没有验证案调是否为总部、是否为补充调查。导致调用了发往属地代码,引发系统异常。BUG于10月30日中午一点半处理完毕。 2. 导致BUG的主要原因: 1).新功能的开发,影响了老功能的流程。开发和测试对之前功能缺少回归测试,未及时发现问题。 2).上线日前进行了主要代码的改动,未能及时评估风险。 3).10月30日下午2点15合并master代码,合并master代码后,开发和测试参与了新需求评审,时间紧张,缺少完整回归测试。 4).项目上线后,缺少线上验证,导致未及时发现问题。 3. 如何避免类似问题发生? 1).开发增加对老功能的单元测试,每次新功能开发完毕后,通过单元测对老功能进行回归。 2).测试增加自动化测试,对主流程每次上线前进行回归测试。 3).产品经理在新功能稳定后,在测试环境对新功能验证,避免遗漏、BUG等。 4).由产品经理牵头,联系业务人员,协助进行线上验证,及时发现问题,及时修正。 5).新功能开发完毕后,开发和测试一起确认回归测试范围。重点测试可能影响的功能。 4. 如何快速解决线上问题? 1).加强日志监控,及时发现问题,在业务反馈前处理掉问题。 2).以不影响业务功能为主

软件测试-基础理论篇

不打扰是莪最后的温柔 提交于 2019-12-01 08:04:26
1,B/S和C/S架构的区别? 从测试的角度来讲。B/S架构需要重点考虑系统在不同的浏览器中的兼容性问题;C/S 架构需要考虑系统在不同平台的安装、卸载、升级 B/S 即Browser/Server(浏览器/服务器)结构,指浏览器和服务端,在客户机端不用装专门的软件,只要一个浏览器即可。 C/S 即Client/Server(客户机/服务器)结构,指客户机和服务端,在客户机端必须装客户端软件后才能访问服务器。 2,对HTTP协议怎么理解的? http协议是应用层的一个数据传输协议,由请求和响应构成, 主要的请求方式有get和post两种,get请求的请求数据在请求头,post请求的请求数据在请求体 响应的数据也包含响应头和响应体。 3,常见的http状态码? 200 请求成功 用于get/post请求 301 永久移动 302 临时移动 404 服务器无法找到资源,网页丢失 500 服务器内部错误 4,http请求头包含哪些信息? content-type (作用:定义网络文件的类型和网页的编码 ) accept (作用:发送端(客户端)希望接受的数据类型) 5,get和post的区别? get 请求数据参数放在请求头传送,请求地址长度有限制,一般用在获取数据。 post请求数据参数放在请求体传送,请求地址没有长度限制,一般用在提交数据。 6,什么是软件测试? 软件测试就是使用软件

软件测试分类

自作多情 提交于 2019-12-01 08:01:29
软件测试分类 1. 按照阶段进行划分 1.1 单元测试(Unit Testing) 单元测试是对软件组成单元进行测试。其目的是检验软件基本组成单位的正确性。测试的对象是软件设计的最小单位:模块。 测试阶段:编码后 测试对象:最小模块 测试人员:白盒测试工程师或开发工程师 测试依据:代码和注释+详细设计文档 测试方法:白盒测试 测试内容:模块接口测试、局部数据结构测试、路径测试、错误处理测试、边界测试 1.2 集成测试(Integration Testing) 集成测试也称联合测试、组装测试,将程序模块采用适当的集成策略组装起来,对系统的接口及集成后的功能进行正确性检测的测试工作。主要目的是检查软件单位之间的接口是否正确。 测试阶段:一般单元测试之后进行 测试对象:模块间的接口 测试人员:白盒测试工程师或开发工程师 测试依据:单元测试的模块+概要设计文档 测试方法:黑盒测试与白盒测试相结合 测试内容:模块之间数据传输、模块之间功能冲突、模块组装功能正确性、全局数据结构、单模块缺陷对系统的影响 补充说明: 单元测试是一个模块内部的测试,集成测试是在模块之间进行测试(至少两个) 1.3 系统测试(System Testing) 将软件系统看成是一个系统的测试。包括对功能、性能以及软件所运行的软硬件环境进行测试。时间大部分在系统测试执行阶段,包括回归测试和冒烟测试 测试阶段

测试划分

谁说我不能喝 提交于 2019-12-01 07:49:46
1. 按照阶段进行划分 1.1 单元测试(Unit Testing) 单元测试是对软件组成单元进行测试。其目的是检验软件基本组成单位的正确性。测试的对象是软件设计的最小单位:模块。 测试阶段:编码后 测试对象:最小模块 测试人员:白盒测试工程师或开发工程师 测试依据:代码和注释+详细设计文档 测试方法:白盒测试 测试内容:模块接口测试、局部数据结构测试、路径测试、错误处理测试、边界测试 1.2 集成测试(Integration Testing) 集成测试也称联合测试、组装测试,将程序模块采用适当的集成策略组装起来,对系统的接口及集成后的功能进行正确性检测的测试工作。主要目的是检查软件单位之间的接口是否正确。 测试阶段:一般单元测试之后进行 测试对象:模块间的接口 测试人员:白盒测试工程师或开发工程师 测试依据:单元测试的模块+概要设计文档 测试方法:黑盒测试与白盒测试相结合 测试内容:模块之间数据传输、模块之间功能冲突、模块组装功能正确性、全局数据结构、单模块缺陷对系统的影响 补充说明: 单元测试是一个模块内部的测试,集成测试是在模块之间进行测试(至少两个) 1.3 系统测试(System Testing) 将软件系统看成是一个系统的测试。包括对功能、性能以及软件所运行的软硬件环境进行测试。时间大部分在系统测试执行阶段,包括回归测试和冒烟测试 测试阶段:集成测试通过之后 测试对象

敏捷项目测试策略文档模板

自闭症网瘾萝莉.ら 提交于 2019-12-01 05:32:51
敏捷项目测试策略文档模板   在一个敏捷工作环境种,我们的研发工作以冲刺期和高度迭代的形式展开。每一个迭代周期都关注少数的需求或者用户故事,所以在文档在敏捷项目种的数量和内容方面都倾向于轻量化。   对于测试计划这样的文档也是如此,不过我们也确实需要为敏捷团队去提供一个概要的敏捷测试策略,以供指导。   敏捷测试策略文档是为了给团队提供一个最佳的测试实践和一些形式的测试体系。记住,敏捷并不意味着没有体系。   下面我们来看一个敏捷测试策略文档,看看我们都应该包含些什么内容。 1.   一份测试策略中通常都会对于更宽泛的商业目的和目标做出任务说明。    一个典型的任务说明可以是:   “通过快速反馈和缺陷预防,持续的交付可工作的,满足用户需求的软件,而不仅仅是缺陷发现”   细化以后:   “● 在定义完需求的接收条件/测试之后,代码才能进行编写。    ● 接收测试不通过,一个需求就不能被判断为完成。”   在敏捷项目中,通常还会包含关于质量保证的提示:   ● 质量保证是系统和可靠的保证产品满足用户需求的一系列活动。   ● 在SCRUM(敏捷)中,质量保证是所有人的责任,而不单单是测试人员。在我们开发新产品的过程中,我们通过质量保证活动来确保正确的质量。    2.   测试级别    2.1  单元测试   WHY : 确保代码被正确开发   WHO : 开发工程师

【转】【测试分级】软件测试分级理论

夙愿已清 提交于 2019-11-30 20:56:53
本文链接:https://blog.csdn.net/zjuxsl/article/details/79364811 软件测试是软件工程当中不可或缺的一个过程。在软件工程中,测试者充当“虚拟用户”对软件产品进行检验。只有经过严格测试的软件产品,才能发布给用户使用。 只要有软件的地方,就有软件测试。 软件测试是一个包罗万象的话题。这种“包罗万象”的具体表现之一就是软件测试的分类:多样化的观察角度,多样化的衡量标准,造就多样化的分类方法。软件测试的分类可谓是“百花齐放,百家争鸣”。 例如,根据测试手段,软件测试既可以分为手动测试和自动化测试,也可以分为静态测试和动态测试,还可以分为白盒测试、黑盒测试和灰盒测试。 例如,根据测试目标,软件测试可以分为功能测试和非功能测试。功能测试可以根据业务类型做二次分类;非功能测试可以分为性能测试、安全测试、可用性测试、稳定性测试等。 例如,在软件生产的不同阶段,有单元测试、集成测试、系统测试、冒烟测试、alpha测试、beta测试等。 例如,根据测试执行频率,软件测试可以分为回归测试和非回归测试。 例如,根据测试自由度,软件测试可以分为预定义测试和探索性测试。 ..... 面对如此纷繁多样的测试分类,有没有一个主线方法能够让我们拨云见日,理清思绪呢? 笔者认为,基于测试分级的分类方法,可以回答这个问题。 那么,什么是测试分级?

软件工程第三次作业——关于软件质量保障初探

自闭症网瘾萝莉.ら 提交于 2019-11-30 08:22:54
一、 对教材与参考资料阅读后关于软件质量保障你的体会是什么? 在阅读本书我们知道 软件=程序+软件工程 可推成 软件质量=程序质量+软件工程质量。 程序的质量 衡量软件的功能,基本判断可以用是或否来判定,因为程序的质量可以体现在软件外在功能的质量,例如一个字处理软件是否能通过拷贝或粘贴与其他软件传递信息。或者例如网站显示查询的速度、买票网站能并发处理业务的吞吐量、支持同时用户在线数量、用户体验的质量、国际化的质量和安全性的质量。个人认为程序的质量在于是否有修改和存在附加功能的空间、以及能否承受使用者的承受需求、可以符合客户的要求标准。 软件工程质量 软件开发过程通俗的理解是:软件在功能、成本、时间三方面满足客户的需求,软件工程的质量体现在:软件开发过程的可见性、软件开发过程的风险控制、软件内部模块、项目阶段的交付质量、项目管理工具的因素、软件开发成本的控制、内部质量指标的完成情况。我认为软件工程质量就是减少延长软件开发时间的风险、在满足客户需求的前提下控制成本、工具简单好用。 质量的成本 若达到一定的软件质量要付出成本的,其中包括预防事故发生,在培训和审核上投入一定的时间、评审外部公司提交的软件模块的质量、内部故障及时处理,改进文档,改进代码,改进测试用例、外部故障、流程分析改进、提高技术技能、技术投资这几方面。我认为主要在于参与人员的协同合作,另一方面压缩在质量成本上的时间

第二次作业:熟悉使用开发工具

不想你离开。 提交于 2019-11-30 05:45:13
GIT地址 https://github.com/sulei1999/AchaoCalculator GIT用户名 sulei1999 学号后五位 31328 博客地址 https://www.cnblogs.com/sl1999/ 作业链接 https://www.cnblogs.com/harry240/p/11515697.html 1.我所遇到的问题 在对开发环境进行配置时,由于是第一次安装不是很熟悉,忘记了在安装时勾选显示"Git Bash Hear"。所以第一次安装的Git在右键时是不会显示"Git Bash Hear"的,因此进行了卸载进行了第二次安装,因为仔细阅读了安装教程所以这一次没有出错。还有我是没有打算安装VS2017的,结果当我代码写好后进行Part4、Part5是发现用我的VS2012不能够进行操作测试了,所以只好慢慢的去找这些指令。 还有我是没有打算安装VS2017的,结果当我代码写好后进行Part4、Part5是发现用我的VS2012不能够进行操作测试了,所以只好去下载了VS2017。 2.代码设计思路 我写的代码分成了两个函数第一个函数是设计生成随机四则运算的等式,第二函数函数是实现对生成的四则运算字符串实现求值。对于是否结果是小数或者是负数是放在主函数中进行判断的当然写入文件也是放在主函数中进行

软件测试导论

纵饮孤独 提交于 2019-11-30 03:37:06
软件测试基础 需要学习的内容 了解软件生命周期 了解什么是软件测试 了解软件测试的目的 了解缺陷 研发组织和流程 1、什么是软件测试? 测试软件的bug;提升软件质量;验证软件的正确性;测试软件是否符合需求;测试软件是否符合客户隐形需求。 软件测试的经典定义是:在规定的条件下对程序进行操作,以发现程序错误的衡量软件质量,并对其是否满足设计要求进行评估的过程 2、软件测试的目的 1、找到软件的bug 2、证明软件可用 3、预防bug 测试的目的体现3个阶段 项目早期:开发对项目还不够熟悉,测试主要找致命或严重的bug 项目中期:整个项目比较稳定,测试证明软件是否可用 项目末期:软件的质量基本OK,可通过外部测试或者bug大少出找遗漏的bug 以下是软件生命周期 1,项目计划   项目计划是由谁来写的?项目经理(PM)   项目计划什么时候写的?项目启动之前写   项目计划里面包含的主要内容:who人员(做项目由哪些人) when时间(什么时间段做什么事情) what什么事情(做研发这个项目我们要做哪些事情) 2/需求分析   需求分析师由需求分析师来分析,需要分析客户具体想要的软件功能.界面以及不想要的比如错误处理等等 3/设计   设计是由系统架构是来设计的,需要输出需求规格说明书(SRS),概要说明书(HLD) 4/编码   编码是由谁来编的?开发工程师,要输出详细设计说明书

第二次作业—熟悉工具

烈酒焚心 提交于 2019-11-30 02:53:29
第二次作业——阿超的四则运算 (1)博客开始 内容 链接 GIT地址 仓库链接 GIT用户名 ccfuncy 学号后五位 62424 博客地址 我的博客 作业链接 作业链接 (2) 博客内容 1. 环境配置 本次博客采用最新的vs2019编写,原先已配好,具体配置如下 2.代码框架 如类图所示,此处我们采用解释器模式对方程式进行解析,对各个符号进行解析最后通过 excepression 获取最终值。 在使用过程中, RandomCollection 类提供封装好的随机种子, jonit 类负责调用随机种子产生方程式,然后方程式通过 Unitl 可以判断是否符合标准。在 Unitl 类中还有负责存储数据的 writeTxt 方法。 解释器类拥有变量解析和符号解析,对方程式进行解析和计算,虽然这里会使用递归使得内存有大量的消耗,但是它可以提供良好的扩展。 具体代码见 GitHub 。 3. Git操作 先Fork仓库 安装好Git ,开始拉取项目 至此,前期工作准备完毕,接下来我们来看代码运行结果。 代码过程运行完毕,接下来开始测试。 4. 测试 单元测试 首先创建单元测试项目,由于我是 .net.core 项目,故我选择 MSTest 项目,其中使用 reshape 插件帮助我编写测试案例。流程如下: 编写完成后,点击全部执行,效果如下: 由于断点调试大家都经常使用