zoukankan      html  css  js  c++  java
  • 如何做好系统测试

    如何做好系统测试

     

     

    目录

    1       目的... 2

    2       目标读者... 2

    3       说明... 2

    4       Part1 项目各阶段工作... 2

    4.1        需求调研阶段... 2

    4.2        项目启动阶段... 2

    4.3        项目开发阶段... 3

    4.4        集成和系统测试阶段... 3

    4.5        项目上线... 4

    4.6        运维阶段... 4

    5       自我提升... 5

    5.1        总结学习... 5

    5.2        保持好奇心... 5

    6       bug预防工作... 6

    7       需要开发人员配合的工作... 6

    7.1        数据库更新要求... 6

    7.2        代码提交问题... 6

    7.3      bug做解释... 7

     

     

     

    1           目的

             本文旨在分享自己的测试心得,探讨如何作出高质量的系统测试工作,为测试员提供工作指导。对项目管理者来说,可以参考本文档评估测试工作量,检查测试员的工作质量。

     

    2           目标读者

             初、中级测试工程师。项目管理者。

    3           说明

             提高产品质量,是涉及全员、全流程的管理,在实际操作中困难重重。而本文此次只探讨四个方面,以后再陆续跟大家探讨其他流程。

    1. 项目各个阶段的测试任务,任务指导
    2. 自身素质
    3. bug预防
    4. 需要开发人员配合的工作

            

    4           项目各阶段工作

    为便于给读者建立和巩固测试技能体系,便于依据本文开展测试工作,本文按照项目发展阶段进行论述。

    4.1          需求调研阶段

             该阶段项目经理会跟客户进行需求调研,中间会开会讨论客户的需求,并进行评审。此时测试人员就需要进行参会讨论。这个阶段,测试人员工作主要是:

    u  理解需求,特别是思维导图和业务流程图VISIO;

    u  理解项目背景,这有助于制定测试计划,安排测试重点;

    u  理解公司的业务,这点很重要,如果能从客户业务层面提出问题,会得到客户深深的认可;

    u  找类似产品和行业背景参考。

    4.2          项目启动阶段

    制定测试计划

             在项目启动会为止,项目经理已经需求调研完毕,且完成了开发任务排期。这时测试经理或者主管即需制定测试计划。。。公司现在的项目来看,测试时间是没法由测试自己选择的,所以,只能配合项目在既定的时间内提高测试质量吧。测试计划中的重点:

    u  划分各个阶段的时间安排(单元测试阶段、集成阶段、系统测试阶段、回归阶段等)

    u  测试工作安排(测试的内容,如功能测试、性能测试、兼容性测试、数据完整性测试、排他性测试等安排)

     

    加深业务理解

             加深业务的理解,根据需求说明书绘制系统测试visio图。要点:根据数据流向,绘制完整数据流,注意限制条件。

     

    设计测试用例

             根据《需求规格说明书》和Axure原型图进行测试设计。工作要点:

    u  根据《测试工作指南》、《测试框架》和《测试用例库》编写功能测试用例;

    u  根据《web安全测试规范》裁剪安全测试用例;

    u  根据《APP测试用例大纲》裁剪APP测试用例;

    u  准备测试数据

     

    4.3          项目开发阶段

    该阶段开发人员按照WBS进行开发,测试人员按照开发计划进行测试(功能测试阶段)。测试工作要点:

     

    u  整理测试过程中遇到的系统疑问,记录到《XX系统业务疑问与解答》中;

    u  填写《每日测试记录》并汇报;

    u  重点检查需求实现的一致性,其次检查《GUI测试指南》;

    u  整理并提交《每日测试报告》;

     

    测试原则:遵循优先保证系统逻辑走通的原则。但测试过程中发现的bug,无论大小都提交到禅道中。

     

    4.4          集成和系统测试阶段

    集成测试和系统测试的区别:

             集成测试重点关注各个功能模块的数据联动、传输是否正确。系统测试在此基础上,还需要关注软件的安全性、稳定性、兼容性、性能等。

             实际工作中,限于项目周期,一般会将两者结合测试。

    为提高测试的质量和效率,将测试工作分为四轮执行,每轮测试工作的重点如下:

    第一轮测试:

    u  关注流程是否走通?主要关注正常流程和场景,即需求中定义的流程和场景。

    第二轮测试:

    u  存在性测试;

    u  排他性测试

    u  连续点击测试;

    u  数据完整性测试;

    u  安全性测试;

    u  兼容性测试;

    第三轮测试:

    u  存在性测试(深度排查);

    u  探索式测试;

    u  安全性测试(深度排查);

    u  兼容性测试(深度排查);

    u  性能测试

    第四轮测试:

    u  对外接口测试

    u  需求变动测试(系统测试阶段末期,一般客户会查看系统并提出部分修改意见,此时重点关注新需求)

     

    测试汇报工作:

     

    u  在该阶段需每周提交《阶段性测试工作汇报》,汇报该阶段中系统发现的问题、bug发现趋势、bug状态等。

    u  在系统测试结束后提交《系统测试报告》,评价系统是否具备上线资格。

     

    4.5          项目上线

    配合项目组,准备系统验收资料,如《UAT测试报告》。

    4.6          运维阶段

    bug是测不完的,特别是急于上线的项目,可能漏测得bug更多。所以运维阶段需要注意收集项目上线后反馈的问题,建立《系统运维问题跟踪表》 。对运维阶段发现的bug总结分析原因,在下个项目中重点关注。

     

    以上是作为一个测试员的基本工作,如果想真正做好系统测试工作,还有更重要的工作要补充。

    5           自身素质

    5.1          总结学习

             正所谓温故而知新,平时把《黑盒测试框架》多看看。

    5.2          保持好奇心和质疑精神

             好奇心就是多问问为什么,质疑精神就是要敢于质疑系统设计不合理,举一个较典型的例子。

       

     

             这是一个分销系统的页面,图一是店铺管理中的上架商品列表,图二是下架商品列表页面,图三是选择商品的页面。实现的逻辑是,在选货页面(图三)选择商品上架,之后选择的商品会显示到上架商品列表(图一),可以对上架商品进行下架和删除的操作。 商品下架后显示到下架商品列表里。而把商品从上架或下架列表中删除后, 商品回归到选货页面。

             测试这个页面时,习惯性的问自己,这个页面显示什么数据,为什么这么显示?然后就找到了一个有争议的地方:即选货页面(图三)是不显示下架商品的。为什么觉得有争议呢? 因为假设我是一个用户,我把商品下架后,可能以后我都不会再主动关注已下架的商品,而在这个时间已下架的商品若有特殊的变动,我也难易得知(因为我更多的会去看选货页面)。 这样一来,日日顺商城做的一些推广可能就传到不到分销商那里。毕竟,商品数据还是不少的。

             不过反过来说基于该分销平台的特点,可能会让用户 不会做下架的操作---预测大多数用户都会把全部商品选择上架,所以选货页面不加载下架的商品对应用影响并不大。

             这个地方的争议,无论怎么实现,可以说是公说公有理婆说婆有理,不一定哪一种是最好的。

             不过拿这个例子来讲,就是要为了说明如果测试过程中不多做思考,不多问一些为什么,不敢质疑系统的话,很多bug就会被漏测!

    6           bug预防工作

             多数测试员做的质量保障方面的工作都是事后的补救工作(检测),bug预防是让测试员充分发挥事前和事中的的质量控制作用。

             bug预防的必要性显而易见,bug越到后期发现,修改的成本越高,所以防患于未然肯定要优于亡羊补牢。

     

             bug预防的方法主要是通过制定开发规范和测试规范。开发规范方面有《UI规范》、《编码规范》、《数据库规范》,其他包括《安全性开发规范》、《性能调优指导》、《兼容性开发规范》,并完善技术复用库(设计、组件、类库、代码)。 测试规范方面有《功能界面的检查指南》、《BUG管理规范》、《测试工作流程规范》、《安全性测试规范》,涵盖BS架构和APP,后续需要完善的是性能和自动化(自动化能解决的问题)方面的测试技术。

     

    除了上面说的这些规范,每个项目测试过程中发现bug之后,也会通过分析找到具体原因和解决方案,做一些总结归纳,尝试建立该类问题的预防方法,补充到流程规范中,贯彻到全公司,最后监督执行。(世界级大公司对待bug的态度,谷歌的绩效考核,考核该类bug在本项目中出现的比率是不是比上一个项目小了,考核测试员在bug预防方面做得工作)

    软件测试体系:

    二、测试流程  

        版本发布控制制度。

    三、测试规范

    测试员工作的依据(检查标准),包括了bug分级标准,界面设计规范和web安全测试规范。

    四、测试框架

    工作指南(测试要点,或者说一个功能要做哪些测试)

    五、开发框架

    输入验证的完善等。

    7           需要开发人员配合的工作

             每次项目启动会,我都会对 项目团队的成员要求以下三点:

    7.1          数据库更新要求

             开发后期,数据库改动较少。这个时候对数据库结构的改动都用脚本执行。并在发版时一并发送测试员。---曾经多次遇到因为数据库改动不规范,导致测试时间增加,项目拖期的项目事故。

    7.2          代码提交问题

             在bug预防中提过,代码集成要慎重。建议由条件的时候做一下code review,避免出现功能倒退等严重项目事故。同时发版和禅道上的bug要对应,因为测试人员会检查发版时间之前的bug。

    7.3       bug做解释

             bug解决后,在禅道可以做个解释。如此一来测试人员可以积累定位bug根源的经验,在之后的项目中,遇到类似的项目可以直指根源,给开发人员提供检查思路,缩短开发人间排查问题的时间。

     

    我在文章里留了很多文件,这里保存不上。有想要的我给你word版。

  • 相关阅读:
    63.Unique Paths II
    Java中的访问修饰符
    Java語言
    JRE与JDK
    Linux中ls命令详解
    硬盘主分区和拓展分区
    java中的静态初始化块
    java中的静态变量
    java中的静态方法
    java构造方法
  • 原文地址:https://www.cnblogs.com/scios/p/5129449.html
Copyright © 2011-2022 走看看