软件测试及其重要性

作者:chu.qingqing

什么是软件测试

        软件测试,是一种实际输出与预期输出之间的审核或者比较过程。是在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足需求设计要求而进行评估的过程。

软件测试及其重要性 

软件测试主体内容

        当然,很多人会关心,测试能做些什么?拿起鼠标对系统进行疯狂点点点?如果是这样,那是不是谁都可以来做测试?在回答上述问题之前,我们先来了解一下进行系统页面测试时需要测试人员关注的点:

 

1、测试计划

        根据产品的需求说明书,测试需要明确测试过程中的着重点、争议事项、测试目标、测试范围、测试进度、测试类型、测试技术等等,100%测试覆盖率不现实也不可能。测试过程中,时间、质量、成本,三个重要维度相互制约、相互影响,永远无法实现时间、成本和质量的三赢;

软件测试及其重要性

2、设计用例

        按照系统、产品给的需求文档,原型图,UI图完成测试用例,完成测试用例需要用到:等价类划分、边界值分析法、错误推测法、因果图方法、判断表驱动法、正交试验法、功能图法;同时需要分析业务逻辑,用户操作场景,异常场景,关联业务等;

软件测试及其重要性

3、执行用例

        根据测试阶段,代码改动,环境等挑选相关用例执行;执行过程中要了解:linux简单命令:ls,cat,tail,cd等,用来看后台日志,是否有前台虽然正常展示,但后台已经抛异常;要了解sql的增删改查,以便造数据、查询数据;要了解业务相关操作对数据库的操作,新增操作入了哪些表,有哪些关键数据,哪些状态数据,更改操作入了修改了哪些表的哪些字段,以及字段对以后业务的影响;bug中问题描述,步骤,抓包,日志等,sql是绝对的重点;

 

4、输出报告

        依据bug追踪工具禅道,给出详细的测试报告,测试报告中需要明确测试所涉及到的功能点,本次测试涉及到的严重级别bug数量,已修复的bug,未修复延期修复的bug,延期修复的bug中是否有影响系统功能的,如果有,系统不予发布,这是一个测试人员的基本素养。

软件测试及其重要性

 

        现在,你是否还认为测试仅仅是对系统进行简单、无逻辑的点击?测试人员的职责,是站在用户角度,使用系统,对系统未实现的需求、不合理的逻辑、易用性、美观性等等多方面提出修改意见,其最终目的,都是为了系统能够如期发布或上线。

 

软件测试的重要性

        公司现在很多项目组其实是没有配备测试人员的,这种情况其实是不合理的且不乐观的。对于代码,大神们总是有一种莫名的自信(我写的代码逻辑严谨,不会出现问题),楼主也参与过开发,然而事实总是papapa打脸。故而这里提一下软件测试的重要性,为什么你们团队,需要测试人员(现在是可以随时申请测试人员的),一张图说明(来自网上):

软件测试及其重要性

        这些是比较老的数据,大家可能觉得比较遥远。身边的例子,我们的项目未经测试,直接上线:

(1)客户反馈的bug多不多?

(2)熬夜修复的日子多不多?

(3)重复返工的日子多不多?

(4)心烦意燥掉头发的时间多不多

软件测试及其重要性

        如果上线前经过测试,测试人员已经发现bug并告知开发人员,开发人员上线前修复完成,是不是客户和领导皆大欢喜?再者说,一次bug、两次bug客户能理解,次数多了,客户是否会质疑我们的能力?一个功能,频繁出现问题,往低的层面说,是我们开发的时候没有考虑周到、全面,往高的层面说,是影响公司形象的行为(严重情况下,客户拒绝验收、拒绝交付尾款,开发周期加长等等都是成本,且公司可能会被罚款,而基层员工的我们可能会被扣工资)。毕竟无论在哪一行,客户都是上帝。

        通过一些简要说明,测试的重要性不言而喻。

 

当前我们支持

        路人甲乙丙丁:你们是否只会做功能测试呢?当然不是,性能测试、安全测试、自动化测试(脚本),我们有专业的测试人员,她们会依据测试场景进行分析,制定周密的测试计划,设计合理的测试用例,针对不同系统不同需求,进行测试,给出测试结果,并针对测试结果,给出优化意见。性能问题发现后,可与开发人员协同调优。

        至此,对测试认知的一个浅谈结束了,如果你们刚好有需求,而我们能提供专业能力,请随时call我们:USTCINFO-QC。