我是如何做软件测试项目的?

article/2025/11/7 3:42:48

最近公司刚完成了一个比较大的项目-单品页模块化,即使用现在比较流行的Twitter Bootstrap进行前端开发。说其大是因为工作量大,开发前期投入约80人日,包括前端开发及PHP开发,且不包括修复bug的时间,测试投入约48人日,同时也是非常重要的项目,直接关系到转化率,稍有差池就会导致转化率的下降。而我有幸成为该项目的测试负责人,此文即介绍我自己是如何带这个项目的。

 

1. 人员分工合理,老人带新人

其实这次项目中,人员分配是3个老人(工作也不到2年),2个新人(工作不到1年),2个实习生,加上我自己共8个人负责功能相关测试。通过把功能及测试内容进行拆解,并对子功能评估工作量,测试难度及影响范围,与参与的人中最熟悉的人一起评估大概工作量,结合项目计划,投入参与的人员,制定出最终的测试工作量评估,当然,在评估的时间上加上buffer时间将风险得以降低。秉承以下原则进行分配工作:

1)最核心的内容让最熟悉的人来做;

2)新人负责边缘一点的功能,边做边学;

3)在其中挑出一个能承担较多的人,以减少“巴士因素”;

4)其中1个或2个人工作内容相对少点,方便灵活调配去协助其他人;

5)让细心的人做更多页面测试,让逻辑思维强的人做更多业务逻辑性测试,充分发挥各自优点。

 

2. 做好计划,一切心中有数

一份好的计划具有指导意义,可以回答何时能发布的问题。所以为了制定一份靠谱的计划,需要充分理解项目内容,项目人员情况,其余版本代码合并时间及可能的风险,需要进行哪些内容的测试,何时开展性能测试,需要做怎么样的兼容性覆盖,哪些功能需要做安全性测试等等。其实我觉得可能并不一定要撰写一份完整的长篇计划文档,只要在一两页能列出以上内容,说明了测试计划最关键部分,其余的都是形式。

 

3. 严格控制其余需求加入及本需求变更

影响项目计划的三大杀手锏:开发未按时提交代码,开发质量差及需求变更。需求变更可能会导致对之前的代码架构重设计,测试人员重新测试,严重影响项目计划,在进行该项目时,就与项目管理及PM达成一致,为了保证按时上线,控制其余需求加入,并不再对本次需求进行优化,保证该项目的优先级,预计的项目人员及项目资源。

 

4. 明确测试用例,做好评审

任何一个项目,一份考虑较周全的用例可以大大降低项目风险,增强测试人员乃至整个项目组的信心。这个项目也毫不例外,因为没有新的业务逻辑及功能,所以前期我们只需整理之前的用例,并再次与开发人员及PM评审,并列出冒烟测试用例,而它将作为冒烟测试运行之用例,也用于开发人员自测使用,毕竟是经过评审过的,所以大家都认可。

 

5. 保持测试与开发环境独立

开发环境与测试环境的独立其实并不是从这个项目开始的,而是一直以来都是这么做的。毕竟每一轮次代码及环境的稳定性会影响到所有测试人员的进度,谁都不想让开发人员在测试环境任意调试,修改配置,或直接进行开发,如果遇上非要在测试环境来复现某个问题时,也要等到环境没人用时进行。这么做也是为了让我们每一轮次的测试结果都是可信的,而不会因为环境的变化,让刚才测试通过的用例又执行失败,让刚刚报的一个bug突然变成了NOT A BUG。

 

6. 每轮次冒烟测试,督促提高开发质量

每一轮次的系统测试,都要进行冒烟测试,同时越到项目后期,越要提高冒烟标准。这么做的意义也是为了督促开发人员多自测,让团队一起为产品质量及发布齐心协力。所以,在一开始冒烟测试时,可能就把影响流程性的会block其他很多case(比如10条及以上)的case作为冒烟测试用例,因为第一轮次的测试都是覆盖性的,而往后,可能就是多回归信心不太足的模块,回归bug等,那么,在后期的冒烟测试时,对于多次反馈仍未修复的较严重的bug和bug重灾区的核心功能及流程也有必要作为冒烟测试范围。每一轮次的测试结果都在邮件中抄送给各个团队负责人及CTO,开发团队每个Q进行的绩效考核也将考虑冒烟的情况,督促提高开发质量。而且若因开发质量不够好冒烟测试不通过而导致的项目延期,则不再属于测试团队的责任。

 

7. 汇总以往出现过的严重或典型缺陷,在该项目验证

每一次较大型的发布,都让测试人员颇为担心,害怕出现遗漏bug,但是总会有未考虑周全之处,每次大型发布之后,或是被公司内部的人发现或是被我们的用户发现,我们需要对以往的经验进行总结,汇总出以往项目从眼皮底下溜走的bug,他们发生的原因及如何避免,这些都是教训及经验谈。在这个项目中,一样是把之前遗漏过的bug告诉大家,一定多加注意。

 

8. 进行每日项目会议,掌握项目进展情况

每天抽出半小时,把大家召集到一起,了解每个人的进度,遇到的问题,让大家积极发言,进行头脑风暴,这个时候的碰撞往往能事半功倍,我也会把我自己的想法告诉给大家,哪些功能间需要加强协调测试,比如在UI上有交互的,在某一个标签处显示2个内容而恰好属于不同人测试,在数据上都有读取或修改的,让功能间有依赖的人多沟通,测试时多考虑相互间的影响等等,会上统一集中的帮助大家解决问题或提供解决问题的思路。我觉得每日会议可以让大家更像一个团队作战,而不是单打独斗,各干各的,最后乱成一团糟。

 

9. 注意风险控制,了解缺陷影响范围

项目越往后,bug数量越收敛,而给我们最大的障碍可能就是我们不够了解缺陷影响范围,不懂得回归bug时还需要测试些什么,这却正是测试新人最大的挑战。仅仅是测试bug里说的这情况吗?大多数时候肯定不够,老生长谈如何判断功能间的依赖:

1. 有关输入:这些功能会不会处理同样的输入?

2. 有关输出:这些功能会不会在界面上显示在同一个区域?会产生同一个输出吗?

3. 有关数据:是否会操作同样的数据?是读取还是修改?

如果上面三点中有一个答案是,那么他们之间肯定就有依赖!

同样,你也可以通过咨询开发人员,这个bug改动会影响到哪些地方,对于熟悉公司业务及代码的人来说,也可以通过diff两个版本间代码差异获得答案。

 

10. 合版后明确回归范围

这里的回归跟上面的回归其实是有差异的,因为上面的只针对bug而言,这里的回归就涉及到该产品其他正在进行的项目内容。因为公司进行多个项目多个分支并行开发,在进行该项目时,有别的项目已完成并发布上线,那么该版本发布前需要合并这些项目的代码。有些情况下会出现未正常合并或合并过程中未正确处理好冲突,或在业务需求层面上就有相互影响的情况,这就需要有针对性的进行回归。

对于未合并的,让对应项目参与者运行下冒烟的case就知晓结果了;对于有冲突的,让合并代码的开发人员告知冲突的代码功能是什么,在业务流程回归之外重点关注下对应的功能;对于业务层面,就需要对每个项目内容充分熟悉了解影响到的地方,明确需求具体内容,触发条件,处理过程及结果,有侧重点的进行验证。




http://chatgpt.dhexx.cn/article/kOF8IN1C.shtml

相关文章

我的项目测试

我的项目测试 文章目录 我的项目测试前言一、单元测试二、功能测试1.界面测试2.功能测试(1)已发布专辑列表功能(2)播放功能(3)用户管理功能(4)音频管理功能(5&#xff09…

性能测试项目案例

一、项目介绍与部署 1.1微商城功能介绍 轻商城是一个电商项目,需要综合评估各个项目各个接口的功能,给出优化建议; 功能框架 前台:首页、商品页详情、加入购物车、订单、支付、团购、优惠券;后台:商品管…

项目测试报告

图书管理系统测试报告 一、测试概述 1.编写目的 本报告为图书管理系统阶段测试的总结,目的在于考察软件的功能和缺陷,尽可能多的发现软件的缺陷和漏洞。 2.项目介绍 为了方便学校师生管理或借阅图书而开发出的一个图书管理系统,在Windows环境下创建…

开源测试项目

在如今开源的时代,我们就不要再闭门造车了,热烈的拥抱开源吧!本文针对性能测试、Web UI 测试、APP测试、数据库测试、接口测试、单元测试等方面,为大家整理了github或码云上优秀的自动化测试开源项目,希望能给大家带来…

关于项目的测试

文章目录 前言(测试的相关知识)一、需求分析二、测试设计三、测试计划1.功能测试:1).题目展示及提交2).异常情况3).网络测试 2.兼容性测试:1).各种浏览器器访问:2).同一浏览器不同版本3).不同的操作系统: 3…

【2023必看】17个值得关注的测试开源项目大盘点

目录 引言 项目汇总 值得关注的项目 总结 引言 在软件测试领域,开源项目已经成为了一个重要的趋势。 作为测试人员,我们可以通过参与或关注这些开源项目,不仅可以学习到先进的测试思想、技术和工具,还可以积极参与社区建设&…

测试自学人必看:软件测试如何找测试项目?

目录 前言 方法一:自己找一些开源的开发/测试项目 方法二:从一些线上课程里找开发项目,付费和免费的都可以 方法三:报测试培训班,机构会提供测试项目。 结语 前言 测试新手不知道上哪找测试项目,这应…

【Linux 下】 信号量

文章目录 【Linux 下】 信号量信号量概念信号量操作初始化和销毁P()操作V()操作理解PV操作 基于信号量与环形队列实现的CS模型基于信号量和环形队列实现的生产者与消费者模型 【Linux 下】 信号量 信号量概念 信号量(…

Linux 信号量

信号量 信号量信号量的定义信号量理论例子Linux信号量机制使用信号量 信号量 信号量:用于管理对资源的访问。 (1) 当我们编写的程序使用了线程时,不管它是运行在多用户系统上、多进程系统上,还是运行在多用户多进程系统上,我们通…

Linux内核信号量:二值信号量/互斥信号量,计数信号量,读写信号量

《semaphore信号量:一个简单的示例程序》用户态程序 目录 概念 应用场景 使用方法 内核信号量的构成 信号量的API 初始化 PV操作 获取信号量(P) 释放内核信号量(V) 补充 内核信号量的使用例程 场景1 场景…

Linux系统中信号量的基本使用方法

大家好,今天主要和大家聊一聊,如何使用信号量的方法。 目录 第一: 父子进程相隔1s报数一次 第二:利用信号量实现父子进程通信 信号量(Semaphore),有时被称为信号灯,是在多线程环境下使用的一种设施&#…

信号量【Linux】

文章目录 1. POSIX信号量1.1 引入1.2 概念1.3 PV原语(原理)1.4 相关接口 2. 二进制信号量3. 基于环形队列的生产消费模式3.1 介绍3.2 为什么要使用环形队列3.3 环形队列的作用3.4 实现互斥和同步两个信号量框架生产和消费的逻辑完善环形队列1信号量完善环…

Linux信号量操作

信号量简介: 在对于临界区资源管理的过程中,多个程序同时访问一个共享资源经常容易引发一系列问题:如死锁,结果不唯一等等,在1965年,由荷兰科学家E.W.Dijkstra提出了一种新的进程同步工具,信号…

【关于Linux中----信号量及其使用场景】

文章目录 一、解释信号量1.1 概念的引入1.2 信号量操作和使用接口 二、信号量使用场景2.1 引入环形队列&&生产消费问题2.2 代码实现2.3 对于多生产多消费的情况2.4 申请信号量和加锁的顺序问题2.5 多生产多消费的意义 一、解释信号量 1.1 概念的引入 我们知道&#x…

linux(信号量)

信号量 几个基本概念临界资源临界区原子性互斥 信号量后台进程前台进程 信号储存信号处理信号(信号捕捉) 发送信号1、键盘产生:2、系统调用接口发送信号3、由软件条件产生信号4、硬件异常发送信号 内核中的信号量**信号量在内核中的数据结构****信号集操作函数** 信…

Linux--信号量

1.信号量的定义: 信号量是一个特殊的变量,一般取正数值。它的值代表允许访问的资源数目, 获取资源时,需要对信号量的值进行原子减一,该操作被称为p操作。当信号量值为0时,代表没有资源可用,p操作会阻塞。释…

【Linux】Linux的信号量集

所谓信号量集,就是由多个信号量组成的一个数组。作为一个整体,信号量集中的所有信号量使用同一个等待队列。Linux的信号量集为进程请求多个资源创造了条件。Linux规定,当进程的一个操作需要多个共享资源时,如果只成功获得了其中的…

linux信号量简介

一、什么是信号量 为了防止多个程序同时访问一个共享资源而引发的一系列问题,我们需要一种访问机制,它可以通过生成并使用令牌来授权,在同一时刻只能有一个线程访问代码的临界区域。 临界区域是指执行数据更新的代码需要独占式地执行。而信…

Linux下信号量使用总结

目录 1.Linux下信号量简介 2.POSIX信号量 2.1 无名信号量 2.2 有名信号量 3.System V信号量 1.Linux下信号量简介 信号量是解决进程之间的同步与互斥的IPC机制,互斥与同步关系存在的症结在于临界资源。 临界资源是在同一个时刻只容许有限个(一般只有…

Linux信号量详解

Linux信号量详解 1.什么是信号量信号量是一种特殊的变量,访问具有原子性。只允许对它进行两个操作:1)等待信号量当信号量值为0时,程序等待;当信号量值大于0时,信号量减1,程序继续运行。2)发送信号量将信号量…