软件测试答疑篇

一.软件测试

软件测试就是执行和运行软件的过程,其目的是为了发现软件功能和需求不相符合的地方,或者寻找实际输出和预期输出之间的差异。

软件测试是一个过程,在这个过程中测试人员在做对比,程序的执行结果和预期结果进行对比。

如果程序执行结果和预期结果不一样,此时软件有缺陷。

如果程序执行结果和预期结果一样,此时说明软件暂时没有问题的。

二.软件开发和软件测试的区别

1.岗位

1》工作内容

开发:软件实现(通过编程语言,go,Java,C,C++,python)

测试:开发人员实现的软件有没有缺陷

2》难度

开发:难度较高

测试:相应没有开发的难度高

低端测试人员泛滥,高端测试人员紧缺

3》技能要求 - 深度、广度

开发主要技术要求深度要求,开发人员需要写出高效的代码。

测试人员技能上广度的要求:业务能力,设计和架构分析能力,测试手段和工具使用,用户模型分析和理解,编程能力。测试人员需要对软件进行全方面的测试。

2.发展

软件开发:

初级开发工程师 -> 中级开发工程师 -> 高级开发工程师 -> 架构师 -> CTO

软件测试:

初级测试工程师 -> 中级测试工程师 -> 高级测试工程师 -> 架构师 ->  产品经理/项目经理

3.其他

压力,工作环境基本一致。

4.调试和测试的区别

1》角色

调试是由开发人员完成。

测试是由测试人员 + 开发人员执行(黑盒测试全部由测试人员完成,部分单元/集成测试,部分系统检测由开发人员完成)。

黑盒测试:将程序当成一个黑色盒子,测试人员不关心程序内部实现逻辑,通过一些科学的方法,向程序输入数据,检查输出结果是不是达到预期效果。

2》目的

调试的任务是发现问题并且解决程序中的问题。

测试的任务是发现程序中的缺陷

调试开发人员验证程序是不是实现了开发认为的软件特性。

测试是验证程序是否实现了用户预期的软件特性。

3》执行阶段

测试伴随整个软件开发生命周期。

调试一般在开发阶段。

4》方法

调试:打断点,打印日志,参考程序逻辑

测试:通过等价类划分,边界值,条件覆盖,语句覆盖

三.一个优秀的软件测试人员具备的素质

沟通能力:测试工程师的沟通能力会直接影响事务开展的效率。良好清晰的沟通能力,是一个技术优秀的测是 工程师是否可以获得更好发展的“敲门砖”。

快速学习的能力:对不同业务需求和功能的快速学习与理解能力。 对于测试新技术和新方法的学习能力。

责任感:测试往往是产品的最后一个检验者;测试的工作成效很难衡量,测试用例执行、bug数目的多少都无法说明产品是否能够交给用户使用。所以,责任感是最重要的测试必备素质之一。

压力:来自开发人员、用户、上级、自己的压力。测试人员的压力比想象中的要大。

 思维模式

  逆向思维:开发盖房子,测试拆房子。不走寻常路。

  案例:手机中有两条通话记录,进行删除。删除为0后,继续删除。

  发散性思维:探求多项答案

 案例:测试一台自动售票机。正向,逆向,边界,压力,性能,耗电量,断电,没零钱.....

  • 8
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鹿小伟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值