何为软件测试?
软件测试是软件工程当中不可或缺的一个过程。在软件工程中,测试者充当“虚拟用户”对软件产品进行检验。只有经过严格测试的软件产品,才能发布给用户使用。只要有软件的地方,就有软件测试。
百度百科的官方定义如下:
- 软件测试(实际输出与预期输出间的比较过程)
(英语:Software Testing),描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程。换句话说,软件测试是一种实际输出与预期输出之间的审核或者比较过程。软件测试的经典定义是:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。
从事软件测试第7个年头,从菜鸟成长起来,一路的坎坷促使我想把个人知识和成长经验分享给大家,希望对你有所帮助,感谢支持。
测试是一门技术, 更是一门艺术. 也许你今天拥有的技术, 明天就会被淘汰. 同时需要我们开拓思维和眼界, 积极拥抱变化, 学习新知识, 新方法,新技能, 计算机领域讲究的是实践, 学习更要讲究方式方法. 学习和动手一定要结合, 光看不练,犹如看武功秘籍, 是永远成不了武功大侠的.
一、有了测试工程师=质量?
1.测试工程师职责
评估对用户的影响以及软件产品整体目标上的风险
从用户的角度来思考质量方面各种问题
从开发角度来看,测试编写用户使用场景方面的自动化用例代码
从产品角度来看,他们评估整体测试覆盖度,并验证其他工程师角色在测试方面合作的有效性
产品专家、质量顾问和风险分析师.
2.测试质量理念:
质量不是被测试出来的,这句看似陈词滥调却包含着一定的道理。
虽然质量不是被测出来的,但同样有证据表明,未经测试也不可能开发出有质量的软件。如果连测试都没有做,如何保证你的软件具有很高的质量呢?
有一个简单的办法可以解决这个难题,那就是停止开发与测试的隔离对立。开发和测试应该并肩齐进。你的每一段代码写完后都要立刻测试这段代码,当完成了更多的代码时就做更多的测试。测试不是独立隔离的活动,它本身就是开发过程的一部分。质量不等于测试,当你把开发和测试放到一起,就像在搅拌器里混合着水泥和砂石, 浇铸成了混凝土, 坚不可摧, 这就是质量.
3.测试不是开发的拐杖
开发, 测试, 产品, 运维在一条船上.
质量需要每一个人的贡献,而不专属于“测试”工程师。我们越不让开发考虑测试的事情,把测试变得越简单,开发就越来越不会去做测试。如果测试是一个独立的部门,这个问题更严重。保证质量不但是别人的问题,它甚至还属于另一个部门。出问题的时候也很容易就把责任推卸给质量部门。
4.测试流程
测试尽早参与各个环节,多Review文档,代码,知晓系统架构, 使用的中间件配置等.
高度自动化,强调持续集成;
测试分大中小测试,大中小范围、执行人、时间和要求不一样;
及早参与测试,毕竟质量不是测试出来的,整个研发过程的第一行编码已经决定了质量的高低,过程中反馈风险,利用有效测试策略消除质量障碍,确保检验处有问题的地方及时修改,避免遗漏上线。越早参与,越早发现问题,软件修复成本越小 , 这就是测试左移, 临近发版, 还有很多问题修复, 那这时候的成本是非常高的.