概述
一些现状
现在大部分软件企业的生态链都是,软件测试属于最下游。这也决定了很多情况都必须被动接受。即使某个测试工程师理论知识丰富,辨识风险能力强,但是一个产品需求的变更就可以让他傻眼,接着很努力去适应这种节奏。产品运营主导必然是趋势,测试主导是做不好产品的
还有一个点争论了很久,就是关于出现问题承担责任的问题。如果产品上线或者发布后出现问题,大家都会觉得测试这个环节应该“合理把控”,将风险点罗列出来并告知各责任人,有时候一句“为什么没有测出来”竟让测试同学无言以对
几个常见误区
从上面看来,做为测试的地位往往很尴尬,有种“别人狂欢有我毛事,出了问题我很悲催”之感。但是事实是这样的么?先不急着给大家解释,让我们先看看几个对测试理解的误区:
误区一:测试简单,对技术要求不高
很多人都认为软件测试就是安装和运行程序,点点鼠标,按按键盘的工作。事实是啥呢?软件测试技术不断更新和完善,新工具,新流程,新测试设计方法都在不断更新,需要掌握和学习很多测试知识。仅仅具有编程经验的程序员不一定是一名优秀的测试工程师
误区二:测试就是为了找到BUG
很多人定义测试工程师就仅仅是发现bug、提交bug,这仅仅是测试用例的执行者而不是测试工程师,测试工程师是做为产品质量的把控者,代表客户的利益去把控、验收产品,因此,做的就不仅仅是找到bug
误区三:软件开发完成后进行软件测试
人们一般认为,软件项目要经过以下几个阶段:需求分析,概要设计,详细设计,软件编码,软件测试,软件发布。据此,认为软件测试只是软件编码后的一个过程
其实,软件测试是一个系列过程活动,包括软件测试需求分析,测试计划设计,测试用例设计,执行测试。因此,软件测试贯穿于软件项目的整个生命过程。在软件项目的每一个阶段都要进行不同目的和内容的测试活动,以保证各个阶段的正确性。软件测试的对象不仅仅是软件代码,还包括软件需求文档和设计文档
误区四:使用了测试工具,就是进行了有效的测试
要想对一个软件或者模块进行有效的测试,首先该软件或者模块应该是可测试的。可测试性是反映软件质量的一个内在属性,不会因为你使用了某种测试工具进行了测试行为,就使得被测试的软件具有了可测试性。对于测试工具的选择,只要满足需要并能够自动运行测试用例就可以,而不要一味的追求复杂的功能和不必要的灵活性
误区五:机器自动化将代替手工测试
我们不能否认自动化测试的作用,但是软件的最终使用者永远是人,所以只有人才能真正了解人的需求,例如用户体验等,这是极其永远不可能代替的。有些特定的事情自动化擅长而有些特定的事情是人更擅长的。因此,结合二者的方法会更好。自动化可以进行一些重复的操作和分析数据,让工作更加简单,但是它并不善于确定相关性和判断调用,幸运的是人类擅长判断
重要性
好,纠正了几个误区后,我们看看为什么需要软件测试这个岗位?
既然又主导不了产品,地位又如此的尴尬,那为何还需要测试这个岗位,或者业界还对这个行业一致的看好呢?
下面我们看看几个测试的重要性:
1.问题暴露的时机与解决该问题的成本
在需求阶段修正一个错误的代价是1,在设计阶段就是它的3~6倍,在编程阶段是它的10倍,在内部测试阶段是它的15~40倍,在外部测试阶段是它的30~70倍而到了产品发布出去时,这个数字就是它的40~1000倍.修正错误的代价不是随时间线性增长,而几乎是呈指数级增长的
2.程序员往往发现不了自己实现的产品中的bug
由于人的思维的定向性,故应避免开发测试自己编写的程序
岗位
做为一个软件测试工程师需要做什么?
在每个软件企业中,测试占用一个很重要的地位,对于一个合格的测试工程师,需要了解产品想怎么玩,用户会怎么玩,运营想要用户怎么玩,开发怎么实现,测试怎么进行,何为技术难点等等。一个好的测试人员非常难得,了解了用户使用,懂得了代码实现,写的了接口测试,做的了性能优化,还能协调各种矛盾。比产品了解开发,比开发了解运营,比运营了解产品,还要最了解测试及产品质量
建议
对软件测试工程师的好习惯的几点建议:
1.先分析,再执行,这样会事半功倍
2.测试的最终目的是代表客户利益去把控软件质量,而不是想着找出所有的bug
3.熟悉产品的各个模块,理解产品的开发逻辑,了解客户的使用习惯
4.对产品、开发、运营的不合理需求要学会拒绝
软件测试的技术不断进步,与具体测试技术相比,掌握测试的核心思想比具体技术更重要。测试的最高境界在于运用最简单有效的测试技术,最大限度的发现软件缺陷
我们
我们团队对测试要求:
理念:软件产品质量必须依靠过程管控与数据监控
策略:积极参与到产品功能定义和产品设计环节
愿景:成为专业的软件质量管控团队
使命:代表我们的客户利益管控团队输出的产品质量
工作方法:轻敏捷:快速验证,价值驱动,团队自组织
团队:开放心态,乐于学习,追求精品,持续改进
产品观:稳定可靠,感性易用,凝聚创新,体贴极致,数据,数据,数据
我们希望设计质量部能够代表客户利益,制定更多的产品质量控制的标准,把这些标准传达到产品和设计部门,帮助他们实现这些标准,最终通过品质手段管控这些标准,交付客户高质量的产品
最后
以上就是帅气马里奥为你收集整理的软件测试的一些理解的全部内容,希望文章能够帮你解决软件测试的一些理解所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复