前言在软件开发生命周期中,业务测试扮演着至关重要的角色。本文详细讲解了业务测试的定义、目的、方法以及测试策略。 本篇文章参考黑马程序员1 概述①定义业务测试指通过模拟用户操作和业务场景,验证软件系统是否符合业务需求和预期结果的过程。它通常在系统测试之后进行,重点关注业务逻辑的完整性和正确性。 ③作用测试软件系统单功能之间关联性数据处理逻辑是否正确例:添加购物车时对登录状态的判断2 方法使用流程图法是帮助团队直观理解业务逻辑的有效工具。 3 测试策略主业务优先测试测试时应首先集中精力对主业务流程进行全面测试。这包括对主流程的冒烟测试,以确保基本功能正常运作。单模块细致测试在主业务流程经过初步验证后,逐步深入测试每个子模块。 4 案例分析针对以下某APP的发布文章业务流程图,编写测试用例。编写测试用例:
一、场景法 通过运用场景来对系统的功能点或业务流程的描述,从而提高测试效果的一种方法。 二、基本流和备用流 1、基本流(正确流):模拟用户正确的操作流程 目的:验证软件的业务流程和主要功能 2、备选流(错误流):模拟用户错误的操作流程 目的:验证软件的错误处理能力 ? 三、场景法的本质 1、场景法是一种基于等价类划分的测试技术(技术层面) 2、场景法的应用是基于对软件业务(需求)的深入理解(业务层面) 四、场景法的基本设计步骤 1、根据说明,描述出程序的基本流及各项备选流 2、根据基本流和各备选流生成不同的场景 3、对每一个场景生成相应的测试用例 五、使用场景法分析程序:ATM取款 1、根据需求,找到基本流和备选流(找出正确的操作流程和可能出错的环节) 1、核心场景接口自动化测试 2、核心场景UI自动化测试 3、核心场景性能测试
本文以实际跨业务测试经验(订单业务测试人员如何测试售后业务),讲述在两周内如何快速的上手售后业务并进行需求测试,写下此篇文章作为经验分享。 外部对接B2C,C2C,B2B,POP,3C等诸多业务。内部对接基础服务,商品,支付,物流,仓储,售后等业务。日常测试中,可能也或多或少的了解了售后的一些后台操作步骤或流程。 从而对测试售后业务基础流程上有一定的了解。开始前1、思考将要测试的方向在开始去其他业务之前,首先得想清楚去了之后主要的测试方向是什么。因为每个大业务间有不同小模块,一个人可能负责多个方向的事务。 3、上手体验业务流程加以发散当我知道我要测试售后时,首先要了解的当然是售后流程,其实刚开始也不一定要了解的相当全面,只是在心里有一个大致的图就行,这个图可以理解为系统模块图。 3) 客服进行接入操作,将该售后单进行领取,并根据实际情况进行审核通过。比如在商品还没有实际出库前,可进行快速关闭出库操作并操作退款,如果已出库,则操作审核售后通过。
我们这期先说说关于业务代码的测试,后面我会在写一篇关于UI测试的情况。 百度词条给的解释我就觉得前两句话...... ? 首先并不是所有的代码或者业务都适合单元测试的,比如一段逻辑很简单的代码,你为了单测而单测那就真的没有了意义。这是第一点就是逻辑很简答的代码是没必要进行单测的。 我们先给出下面两点观点: 1、Test Driven Development(TDD) TDD模式:是先根据需求或者接口情况编写测试,然后再根据测试来编写业务代码,这也就必然导致所有代码的 ,这时候就转到单元测试去写,一边单测一边完善业务代码,等你的单测都是通过的时候说明你这快的业务代码其实是问题已经不大了的,这里进行单测的时候各种场景我们尽量想的全面一点对我们业务代码完善是比较有好处的。 等这业务代码处理完的时候你就发现这点你的单测也完成的差不多了,能帮助你理解这块业务的提示也能让你及时的发现业务可能存在的问题,而不是因为产品或者我们都考虑的不全,等测试发现问题的时候我们再进行一个大手术
业务测试 是测试工程师的核心基础能力。所有测试工程师迈入测试岗第一份工作职责就是做业务测试,但业务测试的核心并非业务本身,而是业务测试方法论,这样才能使你可以丝滑切换到不同的项目。 工作多年,总结下如何做好业务测试。 1 精通业务,熟悉产品实现逻辑 1.1 站在用户角度去理解需求 1.2 文档缺陷嗅觉 1.3 竞品分析能力 2 合作&沟通能力 2.1 开发&PD&运营&运维 2.2 项目开发&测试规范 2.3 推动团队全员为质量负责意识 2.4 降低各种沟通成本 3 总结&写作能力 3.1 测分&计划&策略&测试日报&报告 3.2 总结业务文档 4 拓展技术面,要懂代码 4.1 技术广度 4.2 开发能力 4.3 测试技术专长 4.4
在我做接口测试的工作中,有段时间负责产品的每星期活动的接口测试,需求一般比较简单,但是有一批活动很特殊,在之前的工作中都没遇到过,就是概率型业务。常见的抽奖、随机奖励、用户分组等等。 对于这类接口的测试,当时存在着两个难点:一、如何判断业务实现结果符合预期;二、如何才算发现其中BUG。总结来说就是如何判断概率准确性。 测试时间:一天。 两个难点的解决方案: * 如何判断业务实现结果符合预期 业务实现结果即是大量测试统计结果,预期是后台配置的各类事件的概率。 public long aa = getDate().getTime(); public String url = "http://haahi.7najm.com/service/activity/v3/ 32"; // public String url = "http://www.7najm.com/service/activity/v3/32"; public String loginKey
写这篇文章的初衷来源于朋友圈CC的动态:“今年很多写测试工具平台没有成就业务价值的同学,被落入自由市场了”。我俩在评论区交流了下性能测试如何成就业务价值的问题。 基于我和CC的交流的内容,接下来谈谈性能测试如何创造业务价值,我会通过几个问题来阐述我的观点。 性能测试出现的初衷 先思考一个问题:我们开展性能测试的初衷或者说需求从何而来? 性能测试创造了什么价值 接着上文继续聊,用户有反馈,财务有诉求,业务遇到了痛点,怎么办?想办法解决问题! 性能测试创造价值的前提 前面我提到了技术是为业务目标达成提供支撑和效率工具,性能测试可以直接或间接创造业务价值,但并不是说有工具就能创造正向的价值。 正如我和CC交流的对话: CCTester 回复 老张:我觉得性能测试只要做起来还是在成就业务价值的。
(2)支付系统的性能测试:包括并发测试、负载测试、稳定性测试等。 (3)支付系统的安全性测试:包括数据安全、用户身份验证、支付安全等方面的测试。 3.测试计划 (1)测试时间:测试周期为两周,其中一周进行功能测试和接口测试,一周进行性能测试、安全性测试和兼容性测试。 (2)测试人员:至少需要3名测试人员,其中一名负责功能测试和接口测试,一名负责性能测试和安全性测试,一名负责兼容性测试。 (3)测试报告:每周提交一份测试报告,包括测试进度、测试结果、问题汇总等内容。 (3)稳定性测试:测试支付系统在长时间运行过程中的稳定性。 3.安全性测试 (1)数据安全测试:测试支付系统的数据加密、数据备份等措施是否完善。
性能压测系列文章 性能测试系列一(性能测试基础知识) 性能测试系列二 何时介入性能测试 性能测试系列三 压测方式简单总结 性能测试系列四 压测指标的来源 性能测试系列五 压测常见的关注指标以及监控分析工具 性能测试系列六 评估压测量 性能测试系列七 工具选择 这是第八篇 ---- 压测的业务场景,需要梳理的,梳理好业务场景,梳理好业务链路,如何梳理业务场景,如何搭建测试环境 ,业务链路梳理清楚,测试环境搭建完毕,才完成了压测的准备工作。 •1.找个熟悉业务的测试,梳理业务相关链路接口 •2.找开发对接口,并且弄清楚牵涉的服务,缓存 •3.和运维,开发一起梳理压测的服务,选择合适的环境 熟悉业务的人,一定熟悉业务中的链路, 梳理接口的时候,可以先找个最熟悉业务的测试,先梳理出来,然后在和开发,产品对。
环境:RHEL6.4 + Oracle 11.2.0.4 1.创建业务用户表空间 2.创建业务用户 3.赋予用户权限 4.创建业务表 5.创建索引 6.业务查询SQL 7.删除业务用户及数据 8.删除业务表空间 TEMPORARY TABLESPACE temp_jingyu DEFAULT TABLESPACE dbs_d_jingyu QUOTA UNLIMITED ON dbs_d_jingyu; 3. 赋予用户权限 -- 赋予普通业务用户权限 grant resource, connect to jingyu; -- 赋予DBA用户权限 grant dba to jingyu; 4.创建业务表 新建业务用户登录 ,创建T1,T2两张业务表,并插入测试数据。 t1_id number not null, n number, contents varchar2(4000) ) tablespace dbs_d_jingyu; -- 初始化向T1,T2表插入随机测试数据
性能测试混合场景中,我们需要组合多个业务操作到场景中来。 比如有一个论坛的业务分布如下: 发布新帖与回复帖子的比例为2:3, 那么我们在JMeter测试计划中如何控制其比例呢? 利用这个特性我们可以把发布新帖业务放在一个线程组中,回帖业务放在另外一个线程组中。 通过控制线程数来达到需求的业务量的比例关系。 回帖线程组,添加90个线程; 发布新帖线程组,添加60个线程,刚好是3:2。 但,,,这只能是近似的,如果这两个事务的响应时间不一样,最终完成的业务数比例也会不一样。 当前线程数是在假定两个业务的响应时间一样的情况下,所以这完全是理想状况。 所以,这种方式控制并不完美。 以9次迭代为例,回帖9次,1,3,5,6,7,9 次迭代时都会发新帖,回帖刚好是6次 9:6=3:2 3:2的比例达到。
今天是日更的 36/365 天 大家好,我是阿常,今天我和大家聊聊如何做好业务测试。虽然业务千变万化,但是万事万物都有律可循。以下是业务测试的一些通用思路。 ● 项目类型 ● 测试模块 ● 测 试 端 一、项目类型 1、全新项目 2、已有项目新增业务 3、已有项目业务改造 二、测试模块 1、新增功能 2、修改功能 3、删除功能 4、查看功能 三、测试端 1、Web 端测试 浏览器兼容性 直接输入地址是否跳过权限判断 自带键:返回键、回车键、刷新键的使用 缓存过期 2、APP 端测试 APP 多系统测试 APP 多分辨率测试 使用习惯不同( 安卓自带返回键等) 网络类型不同 安装/卸载测试(区分安装新包和更新包的验证) 升级测试(重点关注增量测试) 并发测试(尤其是有push弹框) 消息推送(锁屏、应用后台运行、应用打开) 分享(多平台分享实现 ) 耗电量、内存、CPU等性能测试 思维碰撞: 关于业务测试大家有其他不同看法吗,欢迎一起来交流呀
接口框架的基础功能已经讲完了,接下来会分享一些接口测试实践。今天分享了接口一般的业务验证,注册用户和用户登录。借助开源社区提供的接口来做演示。 写了一些测试脚本,针对独立性较高的接口测试项目如何快速验证。没有使用所谓数据驱动,也没有采用断言(使用预警代替),总的来讲,更像BDD一些。中间也用到了多接口相互验证的功能。 ” 接口测试中业务验证 ---- gitee地址:https://gitee.com/fanapi/tester 代码 package com.fun; import com.alibaba.fastjson.JSONObject import com.fun.frame.httpclient.FanLibrary; import com.fun.utils.RString; import org.apache.commons.lang3. phone", "13100001111"); param.put("email", "Fhaohaizi@163.com"); param.put("vipGrade", "3"
测试目标映射:支付模块测试 → 保障支付成功率 ≥ 99.9%。注册流程测试 → 注册耗时 < 3秒,避免用户流失。2. 量化测试对业务的影响案例1:支付成功率提升1% → 年度营收增加100万元。测试行动:优化支付流程的弱网测试,确保在4G/3G下支付成功率 ≥ 99.9%。 回归测试效率:核心功能自动化覆盖率 ≥ 80%,回归测试周期从3天缩短至1天。生产缺陷拦截率:通过预发布环境测试拦截80%的生产缺陷。三、测试策略与业务优先级对齐1. 与产品经理共同定义验收标准(如“支付失败时需提示用户重试3次”)。测试用例设计:基于用户旅程(User Journey)设计测试用例(如“用户从注册到下单的完整流程”)。 测试行动:性能测试:模拟10万并发用户下单,验证系统吞吐量。弱网测试:模拟4G/3G网络下的支付流程,确保成功率达标。自动化回归测试:覆盖核心交易流程,确保大促期间快速回归。
总的来说,业务模型建立的核心目的是在用户业务场景使用上保障压测时的真实性。根据业务系统生产运行的情况,业务建模包括以下3种业务场景模型。 3)异常高峰场景模型:是指根据交易量爆炸式增长或者用户集中访问系统时的业务场景而形成的模型异常高峰场景一般用来复现生产上的异常问题,或者对系统做破坏性容灾测试。 二、业务建模的方法业务模型的建模主要由数据分析、功能点/接口选取、占比推算3个部分组成。日常业务场景、高峰业务场景、异常高峰场景的模型的不同主要体现在功能点或接口选取的时间段上。 (3)规划数据分析对于没有任何数据可参考的系统来说,需同业务/产品部门、开发部门、运维部门一同分析未来生产上可能出现的业务场景,获取业务模型。 3.占比推算通过上述步骤可得到入选业务模型的待测功能点或接口及其数量列表。重新计算各功能点或接口的占比,保证占比总和为100%,形成最终的业务模型。性能测试中的业务模型有缺陷有哪些?
本文旨在构造一份相对较全面的测试数据,对开发常用的对象都模拟创建一份测试用例,DBA就可以直接拿去做一些基本测试。 环境:Oracle 11.2.0.4 1.初始化测试数据 2.清空测试数据 1.初始化测试数据 初始化测试数据的脚本主要包含了如下内容: 1.表空间创建 2.用户创建及赋权 3.表创建 4.索引创建 account unlock; conn scott/tiger grant select on emp to jingyu; grant select on dept to jingyu; -- 业务用户登录 table t_sum(col1 date, col2 number); create table t_times_old as select * from t_times where 1=2; -- 业务用户登录 ==== prompt ============================ EOF 2.清空测试数据 清空测试数据的脚本主要包含如下内容: 1.删除用户 2.删除表空间 3.删除public
五 问题说完了,作为业务测试,我们的优势和努力的方向到底是什么呢? 我的答案依旧是,业务专家。 我理解的业务专家的技能特长包括如下几点: 1.能够快速融入项目,理清项目脉络; 2.能够把同一个产品中各个业务的关联关系熟悉清楚,并了解核心功能是什么; 3.能够从用户视角出发,提出用户体验和使用场景相关的需求问题 ; 4.能够清晰的明白业务的优先级划分,在投出产出比上做好平衡; 看起来是不是和测试没关系? No,测试即服务,测试是为了质量服务的,只要是能保证质量的事情,测试都可以去推进优化。 如果能达到上面业务专家的要求,那么就可以解决因为关注不够而造成的需求合理性和全面性考虑不周全的问题。 测试是同时离业务和用户都很近的角色,只有我们能把这个环节打通,也一定能发挥更大更重要的作用。 ---- 以上,你觉得的技术和业务孰轻孰重?你现在更偏重于技术?还是更偏重于业务?
针对人员 软件测试行业小白、业务短板群体 针对项目中问题点 1.项目中完全就没有统一标准的文档可查阅 2.项目中文档内容缺失不规范或(产品人员时间上紧迫)文档更新不同步 以企业管理学习系统为例,系统大致包含角色权限 根据个人经验简单剖析 1.首先作为一个团队肯定有产研测,作为测试我们首先可以以友好的方式找历往该系统的测试人员作为切入点向他们了解一下该产品面向的用户群体、业务主干线、找到主要的枝干,在细分需求 2.作为一个过来人说 问测试我们可以问完自己的问题后,基于一个老测试人员,发散问下他当初使用这个系统遇到过什么很棘手的问题,哪块业务比较复杂多聊聊,自然而然对业务理解上有很大的帮助 3.由主到次,梳理完主线后我们可以将每个分支细化下去 ,体验体验细节,例如在线学习系统每个课程数据,每个课程上课周期是否是固定的,考试系统题库的试题总共多少,具体是以什么标准分类,一层一层的去剖析,这里强调的是又之前大范围的业务逻辑细分到每个模块,最后当我们将每个模块熟悉之后 公众号『Python测试社区』,后台回复关键词[ Python ][ 测试 ]获取对应系统资料,觉得本文对你有所帮助请帮助作者分享到朋友圈,广而告之
在整体的测试效率而言,API测试技术是提升测试效率最有效的手段之一,因为它的执行效率是非常高的,另外一点就是前后端的分离开发的模式,也需要我们更多的精力和时间投入到API的测试技术以及API API测试的核心,其实并不在于单个API的测试,单个API无法保障业务的覆盖度,所以我们更多需要结合业务场景来测试这些点,但是一旦结合具体的业务场景,也就涉及到关联的思路,所谓关联,其实我们可以理解为上个 API测试中业务关联解决方案 下面的源代码主要显示的是一个订单的微服务,我们需要在登录的情况下才能够查看订单的明细数据,也就是说在登录成功后,调用订单明细的接口才可以返回订单明细的数据,如果未登录的情况下 v1/order') if __name__ == '__main__': app.run(debug=True,host='0.0.0.0') PostMan中关联解决思路 在清楚了业务场景以及思路后 : 可以把所有的测试用例添加到Collections中进行批量的执行,这样解决了单个测试用例执行的效率 解决了API测试中业务关联的问题 下来创建名为订单的Collections,然后把登录的接口和订单详情的接口添加到
可以快速创建博客及商城等 git地址:https://github.com/Golangltd/lollipopgo /* Golang语言社区(www.Golang.Ltd) 作者:cserli 时间:2018年3月