目录
1.什么是测试
测试在生活中处处可见
1.1生活中的测试场景
1.商场买衣服:
外观测试:初筛选,走进门店,先挑衣服,测试是否存在符合个人审美的衣服。
试穿测试:选择尺码,测试试穿之后衣服对个人的外观是否具有提升。
面试测试:纯棉、涤纶、布料……
价格测试:询价……
购买衣服,交易完成。
2.对一个Java程序进行测试
private static int myDiv(int a, int b) {
return a /b ;
}
测试代码逻辑是否符合预期:
a = 1, b = 2,返回的c是否等于3;
a = 1, b = 2, 返回的c是否等于-1;
……
1.2为什么需要软件测试
企业最终目的是“盈利”,互联网企业借助软件/系统用来跟用户交互从而获取盈利,也就是说企业的受众群体主要是广大的使用用户,而用户的使用感受将直接影响企业的盈利,若产品质量太差将导致用户大量的流失,所以企业非常重视测试。
1.3软件测试的定义
软件测试就是验证软件产品特性是否满足用户的需求。
2.测试的岗位
1.软件测试开发工程师
工作重心为可测试性以及通用测试基础框架。编写单元测试框架和自动化测试框架。软件测试开发工程师关注质量提升和测试覆盖率。
2.测试工程师
与软件测试开发工程师关系密切,但把用户放在第一位来思考。测试工程师组织整体测试实践,并进行分析,驱动测试执行,构建端到端的自动化测试。
高频面试题:
软件测试开发工程师和测试工程师的区别
相同点:
1.都统称为测试人员。2.对产品质量负责
不同点:
测试开发比测试多“开发”二字,而这个开发并不是指开发业务,因为业务开发是开发人员的主要职责,这里的开发指的是需要开发测试效率工具,通过效率工具来提升测试效率和测试质量,比如我们的自动化、性能测试等就属于效率工具。
3.软件测试和开发的区别
维度 | 调试 | 测试 |
---|---|---|
目的 | 调试的任务是定位并且解决程序中的问题 | 测试的任务是发现程序中的缺陷 |
参与角色 | 主要由开发人员完成 | 测试主要是由测试人员和开发人员来执行,黑盒测试主要是由测试人员完成、单元/集成测试主要是由开发人员执行 |
执行阶段 | 开发阶段 | 测试贯穿整个软件开发声明周期 |
高频面试题:
1.走测试岗位为什么还要学习开发知识?
(1)测试人员也要编写代码,如自动化测试、性能测试、开发测试效率工具等。测试人员需要能够看懂代码、了解开发框架。
(2)学好开发知识能够提高软件测试质量。通过查看代码中数据的走向能够更好的从代码层面发现问题。
4.软件测试员具备的素质
1.综合能力
2.掌握自动化测试技术
3.测试用例的设计能力
4.探索性思维
高频面试题:
为什么走测试岗位不走开发岗位?
回答思路:从岗位工作性质分析+个人性格/爱好+个人职业规划三个方面进行阐述。
(1)个人兴趣爱好:从性格和兴趣出发,测试工作需要测试人员具备良好的耐心、细心,接触了测试内容后对测试工作产生浓厚兴趣。
(2)岗位性质:不管是测试还是测试开发都是测试人员,测试人员主要以保障项目测试质量为主,通过开发一些测试效率工具(比如我们学的自动化就是效能工具)来提高测试效率。而软件开发主要以业务编码为主。
(3)个人职业规划:大学期间就树立了走测试方向的目标,今后将继续提高测试和开发能力,争取在测试领域做出一番有影响力的事务。