目录
一、软件测试的概念
软件测试就是验证软件产品特性是否满足用户需求。在执行和运行软件的过程,其目的是为了发现软件功能和需求不相符合的地方,或者寻找实际输出和预期输出之间的差异。
二、调试和测试的区别
1.目的不同
·测试的任务是发现程序中的缺陷;
·调试的任务是定位并且解决程序中的问题。
2.参与角色不同
·调试由开发人员完成。
·测试主要是由测试人员和开发人员来执行,黑盒测试主要由测试人员完成、单元/集成测试主要是由开发人员执行。
3.执行的阶段不同
·测试贯穿整个软件开发生命周期;
·调试一般在开发阶段。
三、软件测试和软件开发的区别
研发主要以编码为主,而测试以测试为主,开发为辅。
难易程度:开发广度小,专业度高。测试广度大,专业度低
工作环境:基本类似
薪水:中小企业总体比研发低,自动化等专业测试领域和研发基本无差距。大厂研发测试基本无差别
发展前景:自动化测试、安全测试等领域发展前景和研发基本一致。
繁忙程度:一般比研发轻松,但敏捷模式下差距不大,产品发布前压力比较大
技能要求:测试要求更广泛:业务能力,设计和架构分析能力,测试手段和工具使用,用户模型分析和理解,编程能力
四、优秀的测试人员应该具备什么素质
答案包含但不限于以下几个方面:
1. 思维模式
逆向思维:开发盖房子,测试拆房子。不走寻常路。
案例:手机中有两条通话记录,进行删除。删除为0后,继续删除。
发散性思维:探求多项答案
案例:测试一台自动售票机。正向,逆向,边界,压力,性能,断电,外观,没零钱.....
2. 兴趣
要具有对测试这份工作的兴趣,乐于探索新技术
3. 性格特征
要有好奇心、有找出问题的成就感、发现问题敏感、不浮躁有耐心、善于怀疑……
具有批判性思维:清楚--准确、切题--深刻,有意义,有逻辑性--公正、全面
4. 能力
快速学习能力、 沟通能力、 文字能力、 开发能力
5. 责任感和抗压能力
责任感:
测试往往是产品的最后一个检验者;测试的工作成效很难衡量,测试用例执行、bug数目的多少都无法说明产品是否能够交给用户使用。所以,责任感是最重要的测试必备素质之一。
压力:
来自开发人员、用户、上级、自己的压力。测试人员的压力比想象中的要大。