浅谈如何提高产品质量?

对于一个企业而言,能否很好的生存下去,有四个核心指标,产品质量Q、服务质量S、产品价格P、响应时间T。在我看来,属于技术范畴的2个最核心的指标是:一是产品质量、二是响应时间,提高企业核心竞争力要以提高产品质量为目标,质量是企业的命脉所在,怎样更好的保障产品质量,为一线的销售保驾护航好产品,就显得尤为重要了。
作为一名员工,我们和企业同呼吸,共命运,加强产品质量的意识,提高产品质量也就显得日益迫切。那么到底如何做才能提高产品质量?

就我个人而言,我是一名软件测试工程师,那么我应该在日常的工作中做出怎样的努力,才能为提高产品质量做出一份贡献?

首先我们就以软件测试流程作为规范,分析测试员能为提高产品质量做些什么。
1.需求评审阶段

项目初期,发现那些潜在的缺陷或错误,避免这些错误或缺陷遗漏到项目的后期。所以,在需求评审阶段我们应该做到:

①做好评审前的相关质疑与确认记录;

②对于责任、目标应和项目达成共识。

2.编写测试计划、排期阶段

测试计划的编写包含所需资源、任务安排、进度安排、风险分析等内容。我们应该明确:

①制定测试进度和任务安排;

②准备测试环境;

③制定预发布、停测的标准;

④制定测试策略和测试方法;

⑤确定测试风险;

⑥确定测试所需资源的其他信息;

3.用例评审阶段,我们应该注意:

①用例设计的结构安排,一定和合理、清晰,以便高效的对需求进行覆盖;

②要覆盖需求的所有测试点;

③合理安排优先级的测试;

④用例要具有很好的执行性,用例的前置条件、操作步骤、预期结果应正确清晰;

⑤尽量删除冗余的测试用例

⑥要从用户层面设计测试用例;

4.测试过程中,我们怎么才能到尽早尽快的发现更多的问题呢?

①测试前期应确保测试环境的稳定性;

②准备应充分,目标应明确,应该正确的理解用户;

③增加版本控制,跟踪记录整个软件的开发过程,避免出现开发混淆代码版本和测试版本的情况或者出现开发与开发之间的代码冲突;

接着我们再从企业自身方面探讨下如何更好的把控产品质量:

1、产品需求设计的合理性

产品需求设计的合理性非常非常的重要,需要PM前期做很充分的需求调研,走在一线多与用户接触,深度了解用户最常用的场景、站在用户角度思考产品逻辑、解决用户痛点问题;

2、技术架构设计、逻辑实现(设计)要合理

避免技术大的框架设计存在问题,多去考虑实现逻辑的合理性或效率、性能等;

3、开发编码规范

规范不是对开发的制约,而是更有助于提高开发效率的;规范的代码还可以降低维护成本、极大的提高团队对代码的可读性,而且还有助于代码review;

4、需求评审

正确而有效的进行需求评审,提前查阅,记录好问题,带着问题去评审,效率更高、效果更好;

5、测试流程的规范

根据自己公司的实际情况来制定,测试流程制定合理,可以更好的提高效率,避免pm、rd、qa来回扯皮、一起更好的把控产品质量,在GSX,我们有PC、APP测试流程,大致分为测试需求分析、case编写、case评审、接口测试、冒烟测试、test4轮测试、beta测试、monkey测试、提交testin进行兼容众测,线上环境回归测试、发布版本后安装卸载升级主流程测试;

6、开发流程的规范

根据公司目前所处阶段制定,如果是多个研发同步在开发多个功能,代码需要分支开发,测试环境无bug后,再合并主干,提交代码时进行必要的review,sql上线一定要进行必要的review,避免一条sql引起全站瘫痪的问题;

7、上线流程的规范

有的研发的分支团队很多,公共代码库的维护很乱,有时容易引发较大的线上事故,所以很有必要约定好一个规范的上线流程,要保证分支没问题的代码才能合并到主干,再做主干整体回归;

8、优化功能测试的范围界定

有时候rd优化一个功能,qa在一个端测试没有问题,但是有可能会引发其他端的问题,所以科学准确的、恰到好处的选定测试范围也是一门很深的学问;

9、接口测试、单元测试

一般情况下后端完成接口开发,就可以提前提测给QA小伙伴,开始服务端的接口测试,这样可以让隐含的Bug提前暴露出来,让开发人员在第一时间修复Bug,让功能测试人员在测试的时候更加顺手一些,最大限度得减少底层Bug的出现数量,让产品研发的流程更加顺畅,进而提高效率、缩短产品的研发周期;

10、UI走查

很多时候产品上了beta,或者上了线,才发现UI与设计不一致,所以UI的检查也非常的重要,更需要在关键的时间点就介入走查,最好在冒烟测试时就走查一遍,在test环境测试完毕走查一遍,确保不因后期修改bug带来的UI问题;

11、bug的度量与预防

定期进行bug的分布分析,线上bug的分析,找到出现该bug真正的原因,bug频发的功能、场景,以及机型等;

12、运维监控

运维层面也要做到非常完善的监控体系,分别从网络层、操作系统层、应用层、接口层、做到端口存活、进程存活、页面级别的监控

13、必要的复盘和总结,

每次项目结束都要及时的进行复盘和总结,针对项目过程中出现的问题,及时的做出调整,避免团队小伙伴下次再犯同样的问题;

14、沟通机制的建立

有很多时候,都是沟通不到位产生的bug,在实际做项目过程中,会遇到很多很多,所以我们尽量要保持畅通的沟通环境和方式,可以组织每天站会的形式,快速无边界沟通,做到信息同步,遇到问题及时沟通解决,提高效率;所以这一点要引起重视!

15、人的培养

对人的培养大致需要从这些方面,技术水平、做事方式、沟通协作能力,主动沟通意识、责任感、执行力、学习力、有效的时间管理、积极乐观、乐于帮助他人、乐于分享、并且从不抱怨,可以将积极向上的一面,感染带动他人;

产品质量管理大师朱兰曾说过:“质量是设计出来的,而不是检验出来的”,这句话证明了提高产品质量除了相应的测试确保质量外,更应该从源头做起,做好前期策划,加强过程管理,辅以适当的产品检验,始终遵循PDCA原则,提高产品的质量才指日可待。

总结

现在大部分产品上线以来出现的运营事故,都是因为产品或流程问题导致的。或者由于之前的发布流程不完善,或者由于开发人员将版本打错,其实很多都是可以避免的,现在我们完善产品发布流程,所有的产品都先在本地服务器测试,通过测试后,再切换到外网服务器供用户使用。明确个人职责,出现运营事故后,根据原因来追究责任,制定个人绩效考核等制度。来进一步完善运营流程和制度。

总之,要想得到用户满意的高质量产品,管理、需求、开发、测试人人把关,人人负责。

总结的很到位,以后自己拿到一个产品时,要全方位考虑,避免踩坑。与大家共勉~

原文地址:http://blog.51cto.com/11959825/2330035

时间: 2024-11-10 07:43:49

浅谈如何提高产品质量?的相关文章

谈如何提高产品质量

最近,我们的产品上线了,上线之后,稳定是最重要的,但是,出现了几次bug,都是不应该犯的错误,所以,避免bug特别是重大bug出现,提高产品质量,非常迫切.为此,我花了几天时间,翻一些资料来系统地学习,此文是学习的总结. 产品开发过程 产品开发过程:需求分析.设计.编码.单元测试.集成测试.功能测试.Beta测试和发布.在工程师开发之前,策划或产品提过来的需求.策划的配置文件或者后期的测试,都可能影响产品质量,但是,本文侧重于从开发者角度谈提高产品质量.先分享一张来自<Code Complete

unity3D游戏开发之浅谈如何提高游戏生命力

游戏中某些时候,玩家会处于"空闲"状态,即处于无事可干的状态.那么为什么会造成这种情况呢?又如何避免让玩家处于"空闲状态"呢?我试着分析下,可能有以下几个原因: 1.节奏控制不合理 节奏的控制不合理.让玩家在游戏某一阶段"紧张"时间过长,或者松弛太久都是不好的.松紧张弛有度,才能造成玩家不至于太空闲. 例如玩家在野外打怪,或者下FB,这个过程就是"紧"的过程.当玩家背包满了,这个时候肯定要回城清包.交任务.存放东西.去拍卖行.

浅谈 JavaScript 编程语言的编码规范

对于熟悉 C/C++ 或 Java 语言的工程师来说,JavaScript 显得灵活,简单易懂,对代码的格式的要求也相对松散.很容易学习,并运用到自己的代码中.也正因为这样,JavaScript 的编码规范也往往被轻视,开发过程中修修补补,最终也就演变成为后续维护人员的恶梦.软件存在的长期价值直接与编码的质量成比例.编码规范能帮助我们降低编程中不必要的麻烦.而 JavaScript 代码是直接发送给客户浏览器的,直接与客户见面,编码的质量更应该受到关注. 本文浅谈 JavaScript 编程中关

浅谈——页面静态化

现在互联网发展越来越迅速,对网站的性能要求越来越高,也就是如何应对高并发量.像12306需要应付上亿人同时来抢票,淘宝双十一--所以,如何提高网站的性能,是做网站都需要考虑的. 首先网站性能优化的方面有很多:1,使用缓存,最传统的一级二级缓存:2,将服务和数据库分开,使用不同的服务器,分工更加明确,效率更加高:3,分布式,提供多台服务器,利用反向代理服务器nginx进行反向代理,将请求分散开来:4,数据库的读写分离,不同的数据库,将读操作和写操作分开,并实时同步即可:5,分布式缓存,使用memc

浅谈C++容器动态内存管理的优化

在信息学竞赛中,C++的容器的用途非常广泛,但经常因常数过大而超时.怎样才能提高它们的效率呢? 我们知道,容器是存储同一类对象的对象,既然"对象"我们无法改变,那么我们只能从"存储"入手,不难想到,不同容器在实现上的根本区别是它们对应着不同的内存组织方式,内存管理无疑是这种实现的核心,所以优化内存管理是加快容器效率的最好途径之一. 一.内存分配器简介 怎样才能优化内存管理呢?很简单,C++为我们提供了这样的接口,我们可以通过自定义容器模板中的最后一个allocato

浅谈数据库系统中的cache(转)

http://www.cnblogs.com/benshan/archive/2013/05/26/3099719.html 浅谈数据库系统中的cache(转) Cache和Buffer是两个不同的概念,简单的说,Cache是加速"读",而buffer是缓冲"写",前者解决读的问题,保存从磁盘上读出 的数据,后者是解决写的问题,保存即将要写入到磁盘上的数据.在很多情况下,这两个名词并没有严格区分,常常把读写混合类型称为buffer cache,本文后续的论述中,统一

浅谈安全性攻击人为攻击的主要形式和防御

0x01 安全性攻击主要的两种方式 当前,对信息系统(包括硬件.软件.数据.人.物理环境及其基础设施)的攻击来自多方面,这些攻击我们可以宏观地分为人为攻击(主观因素)和自然灾害攻击(客观因素),这两大类的攻击都会对信息安全构成威胁.造成自然灾害攻击的自然因素包括各种自然灾害:如水.火.雷.电.风暴.烟尘.虫害.鼠害.海啸和地震等:系统的环境和场地条件,如温度.湿度.电源.地线和其他防护设施不良造成的威胁:电磁辐射和电磁干扰的威胁:硬件设备自然老化,可靠性下降的威胁等.因为自然灾害往往不可预知和抗

浅谈算法和数据结构

: 一 栈和队列 http://www.cnblogs.com/yangecnu/p/Introduction-Stack-and-Queue.html 最近晚上在家里看Algorithems,4th Edition,我买的英文版,觉得这本书写的比较浅显易懂,而且“图码并茂”,趁着这次机会打算好好学习做做笔记,这样也会印象深刻,这也是写这一系列文章的原因.另外普林斯顿大学在Coursera 上也有这本书同步的公开课,还有另外一门算法分析课,这门课程的作者也是这本书的作者,两门课都挺不错的. 计算

版本管理和项目管理软件浅谈

版本管理和项目管理软件浅谈 项目管理软件 Trac vs Redmine 关于Trac,之前想为计组实验平台搭建Wiki的时候作为“备胎”所了解过,而与当时功能与其相似,看起来更有竞争力的产品——Redmine相比而言我更加看好Trac,因为Redmine有一些严重的缺点: 安装非常麻烦.在实际的生产环境中,Redmine在Debian\Ubuntu系统下没法稳定运作.Redmine的依赖是固定的,所以一些新的版本库可能没法工作.而且必须自己在apt-get中配置更新源,否则很容易错将某些依赖升