怎么做好软件测试?一个合格得软件测试师要具备哪些能力?

发布网友 发布时间:2022-02-28 22:12

我来回答

3个回答

懂视网 时间:2022-03-01 02:33

1、基本计算机知识要求:掌握操作系统、数据库和通讯协议原理,并熟悉至少一门编程语言;

2、基本软件测试知识要求:掌握各种测试理论、测试方法论、测试用例编写、缺陷界定标准和软件质量评估等; 

3、简单项目管理知识要求:熟悉所测产品功能,能够将产品文档内描述的UC转化成TC,并熟悉所测产品的一些隐藏需求或者功能。

总结

1、基本计算机知识要求:掌握操作系统、数据库和通讯协议原理;

2、基本软件测试知识要求:掌握各种测试理论、测试方法论、测试用例编写等;

3、简单项目管理知识要求:熟悉所测产品功能,能够将产品文档内描述的UC转化成TC。

热心网友 时间:2022-02-28 23:41

一个好的软件测试工程师,必要的条件有:

对开发技术的了解

对测试理论的熟悉

对产品、系统业务逻辑的熟悉

对客户立场、应用背景、业务需求、市场的把握

不断的学习和总结能力

良好的沟通能力

进一步的,对自动化测试工具的使用。


分步来说:

开发技术  一个测试人员在测试一个产品的时候是不能不了解开发技术的。无论是白盒还是黑盒测试,只要掌握了开发技术就能让自己在心理预期到可能出错的地方。同时增强了对产品测试的信心。否则,只知道产品的表现,只是通过外在的问题去提交测试报告,那么很显然,对产品的测试是不健全的,因为不能发现底层的根本问题。举例来说,对J2EE的产品,很多数据都是放在session中的,那么当注销之后数据就不存在了,如果不了解这一点,很可能人为本次刷新页面或者业务流程中能看到对应的数据,比如购买了某个商品。那么当退出再登录之后一看,咦,数据怎么没有了,为什么购买的产品么有记录?这是通过技术的了解去猜测可能出现问题的地方。所以对技术机制、软件架构、交互方式一定要有所把握。

2. 测试理论  很显然这是测试的基础,如果连基本的边界值、等价类划分、因果图等测试方法都不了解,那肯定是没法测试的。即使不知道这些理论,在实际工作中也会用到这些方法,但是系统的理论知识一定能让自己对测试过程、测试方法有更充分的准备和判断。


3. 产品、系统业务逻辑的熟悉  这一点很重要,是因为一个产品肯定是面向特定用户、特定商业目的的。比如社保系统,客户是社保局的工作人员,同时也暗指了普通的老百姓,因为工作人员是替老百姓办事儿的。那么办事儿的目的、使用的数据、业务流程,都要在系统中体现出来,这也是系统存在的价值。公积金转移、销户具备的条件一定要清楚,这样才能设计足够覆盖面的测试用例,从而测试系统的功能是否健壮、完善、高效。


4.客户立场、应用背景、业务需求、市场的把握  产品或系统,都是与时俱进的,每当客户提出一个需求或者我们开发一个新的产品的时候,一个出发点就是市场、业务、流程等方面发生了变化。比如电信营业厅的BSS系统,也就是营业员使用的系统,已经从第一代更新到第五代了。这期间不仅经历了从固网业务到宽带业务的变化,也融合了移动网络也就是手机的业务,最后也加入了对3G业务的支撑。显然,了解产品的变动原因,有利于把握对产品的了解和未来走势的判断,这样能帮助自己称为业务专家。当业务熟悉的时候,对测试过程也就十分熟悉了。


5. 不断的学习和总结能力 这一点是进步的基础。无论是开发还是测试,总是要面对变化,这包含业务上的也包含系统的技术方面。比如原来很多系统是采用cs架构的,但是随着互联网的普及和其他原因,现在大多数的系统都是bs架构的了。bs架构的系统结构、开发方式、技术手段、测试方法。都需要不断的积累经验。


6. 良好的沟通能力

测试人员的最终立场是客户,即代表客户去测试产品。同时也站在开发的角度去测试产品,保证产品的质量。最后也要站在管理的角度对公司的过程管理进行优化。所以说,测试人员的角色是很复杂的,正式因为很多问题都是测试人员发现的,他们让企业更了解自己的缺陷。所以测试人员实在是太重要了,尤其是在竞争激烈的今天。那么对于测试人员来说,良好的沟通能力就非常重要,因为测试人员要打交道的有:客户、开发人员、项目经理或测试经理。每一个缺陷的发现都会让上述人员有所了解,最困难的是和开发人员的沟通。因为很多开发人员人为一些小事情根本就不是问题,但是这些问题却影响了客户在使用系统时候所体会到的可用性、健壮性。开发人员的立场是做出来产品,测试人员的立场是使用产品及检验产品。双方是一个对立的角色,但是最终目标是相同的。所以沟通的时候需要把握的原则是共同目标,不要产生对立。沟通的技巧需要逐步积累,不是一蹴而就的。




7. 进一步的,对自动化测试工具的使用。现在系统越来越复杂,开发周期越来越长。所以对测试工具的掌握能够减轻测试人员的工作压力。尤其是回归测试这个比较让人头疼的事情。有耐心的人还好,没有耐性的人对于那种总是经常重复的工作会非常厌烦,导致情绪糟糕。另一方面,测试是需要充足覆盖的,不能相信人脑的测试流程、数据的记忆,一定要形成脚本,程序是不会以往流程或者数据的,人脑却会。所以使用自动化测试工具的好处就显而易见了。



其他方面也有很多比如责任心什么的,不过个人认为任何工作都需要责任心,不用多强调。不过上面几点是我人为比较重要的,希望能够帮到你。

热心网友 时间:2022-03-01 00:59

自动化测试方面接触不多,就黑盒测试方面,我说下我的理解。基础的:1、做测试时要绝对专心,要有很强的判断能力,bug出现在你面前你不能疏忽漏掉并且要能准确判断它是哪类哪个区域的bug以及严重程度。2、要能准确描述bug发生的各种情况和实际结果、复现bug的各种步骤和各种方法,期望结果写的全面些而非一句“它应该正常工作”这么简略,有能力的话再给点建议辅助开发人员快速修复bug。3、对bug负责,做好bug跟踪和回归测试工作,直到bug修复。进阶的:1、可以根据文档设计测试计划、测试用例。在没文档的情况下,快速理解软件工作逻辑,创建些简易文档辅助测试,进行测试工作时规范的写下所用测试用例和结果。2、掌握一些测试方法,比如说探索式测试。3、掌握些软件设计、产品设计方面的知识,便于理解软件,从而辅助测试工作。目前我能想到的大概就这些,希望对你有帮助:)
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com