软件测试基本知识(一)
近期的工作状态比较乱,平时想要学习更多的知识,但要学的知识很多,也很杂。所以自己想通过总结和书写的形式来学,一是能够记录内容和过程;二是能够从写出来这个行为,更深刻的去理解;三是能够锻炼自己语言表达能力,帮自己理清思路。
近几年,随着软件测试行业的逐步发展,测试工程师岗位在软件行业也慢慢的站稳了脚。
由于本人也属于测试岗位的一名职员,因此想要对软件测试这个职业慢慢进行总结复盘。这样也有助于自己重新去定义和认识,什么是真正的软件测试工程师。
这部分想要去总结的,属于「软件测试的大门」,从根本上去认识软件测试。
1、测试和开发的区别
测试和开发作为整个软件生命周期中不可或缺的两个角色,在目标上其实是一致的,属于侧重点不同。总结一下两者之间的区别,可以粗略归纳为三个部分:
1)专业度
2)思维模式
3)测试力度
专业度,我们不言而喻,开发是作为对产品需求理解应该最透彻的角色,需要将一系列的文字及流程转化为程序去执行的代码,也可以说是整个项目雏形的重要实现者。他们的专业度是毋庸置疑的。
思维模式,总体上来讲,开发属于一种「纵向的思维方式」,好比森林里的树,开发关注树冠到树根以及整棵树的存活。而测试则要关注除了树这个体征外的环境,如泥土的松软度、湿度、含氧量,还有其它花草树木对它生长的影响。所以测试则属于「横向思维」。
测试力度,这个比重孰轻孰重一目了然。具体的项目中,开发会也会参与一些测试的工作,例如「单元测试」。其它维度的测试工作则由测试人员进行,测试者是测试力度的极度发挥人。
2、测试的特点和原则
测试岗位属于一个后起之秀,早起的软件开发项目中是没有测试一说的。从这点上看就能根本的明白,测试的出现就是为了证明软件存在问题缺陷,找出这些存在的隐患从而使用户的体验更加完美。
缺陷的一个集群现象,叫「二八理论」。因为测试很难做到穷尽,就需要将测试的比重进行分配:20%核心测试,80%非核心测试。
建议测试者尽早的介入项目,能更深入的了解原理、以及一些特定依赖环境,这样在测试过程中能更清晰思路。
3、测试流程和阶段
前文提到作为测试者应尽早介入项目,那么这个过程都包含哪些阶段呢p>
一般的软件项目开发流程分为:产品需求评审、需求分析、项目开发、(项目提测、问题修复)、项目验收、项目上线;
而这个过程中,测试人员尽可能从需求分析中介入,整个流程分为:项目需求分析、测试计划制定、测试用例编写、测试项目、问题缺陷反馈、(bug生命周期追踪)、回归测试、验收测试、及项目上线验证;
其中测试项目时肯定还会涉及很多类型的测试,如模块功能测试、集成测试、接口测试、兼容性测试、性能测试、安全测试等等。
这也验证说明了测试的思维模式,属于横向的。这些对于要成为一个合格的测试工程师,都具有很高的要求和挑战性。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!