我曾经面试的时候对别人说:找到bug是特别爽的一件事情。
仅仅是找bug能把你带入这份软件测试的工作中,但是问题是,这不是让成为行业翘楚的唯一一个理由。就是适合不适合的原因还有很多。
首先,你得知道软件测试是干什么的?
了解测试产品,参与整个流程,基础整个过程中产品经理、技术、运营的所有角色。作为软件测试其实需要比开发了解产品,知道用户需求,更需要了解测试和产品质量。
其次,分工。知道软件测试的几个阶段,
a.黑盒测试,即手工测试。很准确的发现BUG,但是产出较高,人员和时间需求较大;
b.接口测试,一名合格工程师的入门劵,真正从接口层面介入测试;
c.性能测试,对于测试手机app和后台服务器都是非常重要的能力;
d.白盒测试,需要验证代码的正确性和有效性,需要很高的开发水平;
最后就是软件测试的职位介绍:
项目经理、运维工程师、测试专家、产品经理这些都是软件测试可以发展的方向。
补充些,作为一个测试应该具备更多与人沟通的能力。对于和开发进行的缺陷沟通,需求沟通在一定程度上也是个人能力的体现。更多关于技能的知识点,比较详细,有机会逐一介绍。
对于想进入软件测试行业的人来说,这些都是足够的了。
软件测试的三大测试方向比较
软件测试一般分为手工测试、自动化测试和性能测试。作为一名软件测试员,最基础的应该是手工测试,而随着软件测试行业的发展,手工测试耗费的精力和时间大,自动化测试成了众多企业的选择。然而,难度最大可能就是性能测试,掌握的也比较多,对测试员自身素质也比较高。下面分别来看看以下这些测试:
手工测试
大多数测试员现在一般处于手工测试阶段。在自动化测试不是很健全的情况下,对于一些逻辑性很强的操作,需要比较复杂的脚本语言时,利用手工测试避免由于测试脚本的缺陷所造成测试结果错误的误差。
自动化测试
发展趋势一片大好,自动化测试用简单的脚本即可实现重复的操作,节约了大量的人力物力和财力。市场上也有很多自动化测试工具:1、TestWriter,以操作简单、零编码、易维护的特点、受到业界喜欢;
2、QTP,比较经典的测试工具;3、测试框架selenium,帮助自动化验收测试等等,这些都是测试新人刚开始可以重点掌握的。那么针对测试方面的优势主要为:
1、更方便的进行回归测试,提高测试效率,缩短回归测试时间;
2、最少时间进行最多的复杂测试;
3、自动化测试模拟多个用户,同时完成测试任务;
4、和手工测试互相搭配,提高测试员设计测试用例的效率。
5、测试具有一致性和可重复性。
6、测试的复用性,不同测试过程可以使用同一测试用例。
性能测试
和功能测试相比,性能测试在技术层面有很大的复杂性,掌握好应用在客户端性能的测试,应用在网络上性能的测试和应用在服务器端性能的测试,这三个方面也是需要攻克的地方。
----------------------------------------------------------------------------------------------------------------
测试管理: TestLink、Testopia
缺陷管理:Redmine、Bugzilla、Mantis
持续集成:Jenkins、Buildbot
功能测试:Selenium、LTP
性能测试:lmbench、Sysbench、Iperf、Fio
测试框架:JUnit、Autotest
测试设计:Xmind、StarUML、UML Designer
安全测试:Metasploit、Nessus、AppScan