前言在软件开发生命周期中,业务测试扮演着至关重要的角色。本文详细讲解了业务测试的定义、目的、方法以及测试策略。 本篇文章参考黑马程序员1 概述①定义业务测试指通过模拟用户操作和业务场景,验证软件系统是否符合业务需求和预期结果的过程。它通常在系统测试之后进行,重点关注业务逻辑的完整性和正确性。 ③作用测试软件系统单功能之间关联性数据处理逻辑是否正确例:添加购物车时对登录状态的判断2 方法使用流程图法是帮助团队直观理解业务逻辑的有效工具。 3 测试策略主业务优先测试测试时应首先集中精力对主业务流程进行全面测试。这包括对主流程的冒烟测试,以确保基本功能正常运作。单模块细致测试在主业务流程经过初步验证后,逐步深入测试每个子模块。 4 案例分析针对以下某APP的发布文章业务流程图,编写测试用例。编写测试用例:
你所认为的测试总是无脑的点点点,那就大错特错了,实际测试是有很多方法和依据的,今天我们先来看看场景法到底是怎么回事的? 一、场景法 通过运用场景来对系统的功能点或业务流程的描述,从而提高测试效果的一种方法。 二、基本流和备用流 1、基本流(正确流):模拟用户正确的操作流程 目的:验证软件的业务流程和主要功能 2、备选流(错误流):模拟用户错误的操作流程 目的:验证软件的错误处理能力 ? 三、场景法的本质 1、场景法是一种基于等价类划分的测试技术(技术层面) 2、场景法的应用是基于对软件业务(需求)的深入理解(业务层面) 四、场景法的基本设计步骤 1、根据说明,描述出程序的基本流及各项备选流 1、核心场景接口自动化测试 2、核心场景UI自动化测试 3、核心场景性能测试
本文以实际跨业务测试经验(订单业务测试人员如何测试售后业务),讲述在两周内如何快速的上手售后业务并进行需求测试,写下此篇文章作为经验分享。 外部对接B2C,C2C,B2B,POP,3C等诸多业务。内部对接基础服务,商品,支付,物流,仓储,售后等业务。日常测试中,可能也或多或少的了解了售后的一些后台操作步骤或流程。 从而对测试售后业务基础流程上有一定的了解。开始前1、思考将要测试的方向在开始去其他业务之前,首先得想清楚去了之后主要的测试方向是什么。因为每个大业务间有不同小模块,一个人可能负责多个方向的事务。 6) 判责后进行确认方案,最后处理钱货归属的问题。7) 确认完成后,通知订单做相应的操作,如订单关单,或者是退款或者是维修等操作。8) 最后将售后机器进行散货,也就是交接给质检中心仓库。 包括不限于编写测试方案等。结束其实在不同业务之间变更的只是业务而已,所以我们以往的经验同样适用于各个业务。只要合理拆分任务,对拆分各个模块逐一而解,那么整个系统在你眼里可能只是一堆零件而已。
我们这期先说说关于业务代码的测试,后面我会在写一篇关于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 迅速定位问题 5 项目管理能力 5.1 质量风险意识 5.2 问题推动能力 5.3 资源分配&协调 6 持续学习 6.1 好奇心 6.2 问题驱动 7 思考&复盘 7.1 问题识别&提炼&定义 7.2
在我做接口测试的工作中,有段时间负责产品的每星期活动的接口测试,需求一般比较简单,但是有一批活动很特殊,在之前的工作中都没遇到过,就是概率型业务。常见的抽奖、随机奖励、用户分组等等。 对于这类接口的测试,当时存在着两个难点:一、如何判断业务实现结果符合预期;二、如何才算发现其中BUG。总结来说就是如何判断概率准确性。 测试时间:一天。 两个难点的解决方案: * 如何判断业务实现结果符合预期 业务实现结果即是大量测试统计结果,预期是后台配置的各类事件的概率。 在实际的测试当中,由于接口测试时间比较短,执行单次测试用例的时间会很长,需要采取其他的手段来达到缩短时间的目的。当时才用了一个思路:多线程。 * 总结一下,这类需求其实应该直接白盒测试的。 下面分享一下当时测试代码,比较糙乱,多线程测试类代码找不到了,见谅!
写这篇文章的初衷来源于朋友圈CC的动态:“今年很多写测试工具平台没有成就业务价值的同学,被落入自由市场了”。我俩在评论区交流了下性能测试如何成就业务价值的问题。 基于我和CC的交流的内容,接下来谈谈性能测试如何创造业务价值,我会通过几个问题来阐述我的观点。 性能测试出现的初衷 先思考一个问题:我们开展性能测试的初衷或者说需求从何而来? 性能测试创造了什么价值 接着上文继续聊,用户有反馈,财务有诉求,业务遇到了痛点,怎么办?想办法解决问题! 性能测试创造价值的前提 前面我提到了技术是为业务目标达成提供支撑和效率工具,性能测试可以直接或间接创造业务价值,但并不是说有工具就能创造正向的价值。 正如我和CC交流的对话: CCTester 回复 老张:我觉得性能测试只要做起来还是在成就业务价值的。
(2)支付系统的性能测试:包括并发测试、负载测试、稳定性测试等。 (3)支付系统的安全性测试:包括数据安全、用户身份验证、支付安全等方面的测试。 三、测试策略与方法 1.测试策略 (1)结合支付软件的特点,采用黑盒测试和白盒测试相结合的测试策略。 (2)重点测试支付系统的核心功能,以及与其他系统的接口。 (3)安全性测试:采用安全测试工具进行测试,包括数据安全、用户身份验证、支付安全等方面的测试。 (4)接口测试:采用接口测试工具进行测试,验证支付系统与其他系统的接口是否正常。 3.测试计划 (1)测试时间:测试周期为两周,其中一周进行功能测试和接口测试,一周进行性能测试、安全性测试和兼容性测试。 (2)测试人员:至少需要3名测试人员,其中一名负责功能测试和接口测试,一名负责性能测试和安全性测试,一名负责兼容性测试。
性能压测系列文章 性能测试系列一(性能测试基础知识) 性能测试系列二 何时介入性能测试 性能测试系列三 压测方式简单总结 性能测试系列四 压测指标的来源 性能测试系列五 压测常见的关注指标以及监控分析工具 性能测试系列六 评估压测量 性能测试系列七 工具选择 这是第八篇 ---- 压测的业务场景,需要梳理的,梳理好业务场景,梳理好业务链路,如何梳理业务场景,如何搭建测试环境 ,业务链路梳理清楚,测试环境搭建完毕,才完成了压测的准备工作。 •1.找个熟悉业务的测试,梳理业务相关链路接口 •2.找开发对接口,并且弄清楚牵涉的服务,缓存 •3.和运维,开发一起梳理压测的服务,选择合适的环境 熟悉业务的人,一定熟悉业务中的链路, 梳理接口的时候,可以先找个最熟悉业务的测试,先梳理出来,然后在和开发,产品对。
持续集成为通过即时反馈进行即时测试和修复提供了空间。这样,开发人员将哪些代码引入了交付链以及该代码是否阻碍或促进了开发过程的页面保持一致。 4持续测试 许多DevOps专业人员逐渐意识到,测试过程是整个过程中至关重要的部分。之前,测试仅限于相关团队,但现在是每个人的号召性用语。 当开发专家将正确的代码传递给测试团队时,他们还将为他们提供测试数据集,以帮助这些测试工程师与生产环境保持一致。 5持续交付 持续交付是持续集成的扩展,只是后者从未超出DevOps的测试实验室。 6持续监控 没有办法确保逐步的DevOps流程,它的本质是要求跨开发框架的各个要素相互对话。那么如何处理失败呢?您找到它们并立即对其进行修复,这就是持续监视的目的。 原文链接: https://www.veritis.com/blog/devops-capabilities-a-6-point-principle-that-drives-business-success
环境:RHEL6.4 + Oracle 11.2.0.4 1.创建业务用户表空间 2.创建业务用户 3.赋予用户权限 4.创建业务表 5.创建索引 6.业务查询SQL 7.删除业务用户及数据 8.删除业务表空间 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表插入随机测试数据 dbs_i_jingyu; -- 创建T2表字段id的索引idx_t2_t1id create index idx_t2_t1id on t2(t1_id) tablespace dbs_i_jingyu; 6. 业务查询SQL -- 业务查询SQL 1 select * from t1, t2 where t1.id = t2.t1_id and t1.n = 19; -- 业务查询SQL 2 select *
实验代码: 链接:https://pan.baidu.com/s/14XsCng6laiSiT_anuwr5dw? 将DB下的4个csv文件导入sec数据库中 渗透测试操作系统虚拟机文件vmx文件 1)Windows 2000 Professional 链接:https://pan.baidu.com/s/13OSz pwd=zp3o 提取码:zp3o 4)Debian 6(Kali Linux) 链接:https://pan.baidu.com/s/1Uw6SXS8z_IxdkNpLr9y0zQ? pwd=s2i5 提取码:s2i5 开机密码:jerry/123456 安装了Apatche、Tomcat、MySQL、 vsftpd并且配套Web安全测试练习教案。 pwd=17g6 提取码:17g6 开机密码:见页面提示 解压后直接为vmx文件,直接可用
性能测试混合场景中,我们需要组合多个业务操作到场景中来。 比如有一个论坛的业务分布如下: 发布新帖与回复帖子的比例为2:3, 那么我们在JMeter测试计划中如何控制其比例呢? 利用这个特性我们可以把发布新帖业务放在一个线程组中,回帖业务放在另外一个线程组中。 通过控制线程数来达到需求的业务量的比例关系。 但,,,这只能是近似的,如果这两个事务的响应时间不一样,最终完成的业务数比例也会不一样。 当前线程数是在假定两个业务的响应时间一样的情况下,所以这完全是理想状况。 所以,这种方式控制并不完美。 以9次迭代为例,回帖9次,1,3,5,6,7,9 次迭代时都会发新帖,回帖刚好是6次 9:6=3:2 3:2的比例达到。
它可以让写出来的单元测试很容易的理解。值得注意的是,这些特殊的单元测试只对业务逻辑测试有用,而与Android SDK相关的则不会生效。 addingNegativeNumberShouldSubtract() { Logic logic = new Logic(); assertEquals("6 + -2 must be 4", 4, logic.add(6, -2)); assertEquals("2 + -5 must be -3", -3, logic.add(2, 这也就是单元测试和功能测试之间的区别。 功能测试和常规的单元测试不同,它存放于一个其他的目录。
类似的参数的话,就可以尝试是否存在SSRF漏洞,以下是常见的URL中的关键字: share wap url src link source target u 3g display 3.SSRF的漏洞利用 测试目标网站支持的伪协议
今天是日更的 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
将测试工作与业务目标对齐,是确保软件质量与业务价值最大化的关键。测试团队需从“发现问题”转向“保障业务成功”,通过量化测试价值、优化资源分配、与业务部门协同,确保测试活动直接支持业务目标。 基于业务价值的测试优先级高优先级业务场景(如核心交易流程):测试重点:稳定性、性能、安全性。资源分配:投入自动化测试、性能测试、安全测试资源。 低优先级业务场景(如非核心功能):测试策略:手动测试为主,降低测试成本。2. 测试左移:与业务需求深度结合需求评审阶段:要求测试团队参与需求评审,提出可测试性建议(如“支付流程需支持弱网场景”)。 业务场景测试:邀请业务人员参与用户场景测试(如“模拟用户注册流程”),确保测试覆盖真实需求。2. 数据驱动决策:量化测试对业务的影响,用数据说服管理层。跨部门协作:与业务、开发、运维共建质量标准。持续改进:根据业务变化调整测试策略,确保长期价值。
我们针对具体方案的设计进行抽象和总结,将其归纳为6个性能测试模型。 性能测试模型是性能测试工程师开展性能测试项目必须掌握的内容,他们只有深度掌握这6个模型,并在不同的项目实施方案设计中灵活运用,才能达到性能测试项目的预期目标,本文主要聊聊性能测试中的业务模型,模型的目的是什么 在实施结果价值上,业务模型为性能测试提供更接近于生产实际的业务场景,使测试结果对生产更具有参考性。设计的测试场景与生产用户使用的场景差异越小,其测试结果对生产的参考价值越大。 性能测试中的业务模型是指在进行性能测试时,基于实际业务流程和用户行为来构建的测试场景。它试图通过模拟真实世界的使用情况来评估软件系统在不同负载条件下的表现。 这种类型的性能测试对于确保应用程序能够满足预期的业务需求至关重要。
本文旨在构造一份相对较全面的测试数据,对开发常用的对象都模拟创建一份测试用例,DBA就可以直接拿去做一些基本测试。 环境:Oracle 11.2.0.4 1.初始化测试数据 2.清空测试数据 1.初始化测试数据 初始化测试数据的脚本主要包含了如下内容: 1.表空间创建 2.用户创建及赋权 3.表创建 4.索引创建 5.视图、同义词、序列、dblink 6.存储过程、函数、包、定时任务、触发器 脚本:initData.sh #! 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; -- 业务用户登录