软件测试面试必备—基础知识整理

一、你如何理解软件测试的目的?

1、验证软件需求和功能是否得到完整实现/2、验证软件是否可以发布/3、尽可能多的发现软件中的bug/4、尽可能早的发现软件中的bug/5、对软件质量做出合理评估/6、预防下个版本可能出现的问题/7、预防用户使用可能出现的问题/8、发现开发过程中的问题和风险

二、软件测试有哪些原则?

1.所有测试的标准都是建立在用户需求之上 。 2.合理控制测试深度与广度,完全测试不可能,测试的投入与产出要均衡。 3.80-20原则,软件中80%的bug可以在分析、设计与评审阶段就能被发现与修正,16%的缺陷在系统的软件测试中发现,最后剩下的4%是用户长期使用的过程中才能暴露出来。 4.尽可能早的开展测试,越早发现错误,修改的代价越小。 5.发现错误较多的程序段,应进行更深入的测试。 6.软件项目一启动,软件测试也就是开始,而不是等程序写完,才开始进行测试 。 7.软件开发人员即程序员应当避免测试自己的程序 8.严格执行测试计划,排除测试的随意性,以避免发生疏漏或者重复无效的工作 优秀测试人员应具备的素质: 1)沟通能力与表达能力 2)好奇心与怀疑精神 3)责任感与抗压能力 4)自信心,坚持自己的观点 5)耐心与细心 6)逆向思维的能力 7)善于学习与总结 8)团队协作精神 9)文档编写能力 优秀测试人员应具备的技能: 1)精通业务知识 2)具备软件编程能力,比如C,C++,JAVA等。 3)可以用脚本语言编写小测试工具 4)主流操作系统应用与网络知识,可以搭建测试环境 5)熟练掌握各种数据库知识 6)精通软件测试理论与方法 7)掌握常用测试与开发工具的使用 8)优秀的文档编写能力

三、说一说软件测试的组织架构

1)项目型的测试组织: 测试人员作为项目组的固定成员,从头到尾的跟着项目走 2)智能型的测试组织: 测试人员参与到项目中,是以独立的测试部门委派的方式进入 3)综合型的测试组织: 项目型与职能型的结构组合并加以改造而产生的。测试部门把测试人员,分为常规项目测试人员与专项测试人员。测试部门会把常规测试人员长期委派到项目组中,成为项目中的一员。专项测试人员,一般由性能测试工程师、自动化测试工程师、安全性测试工程师等组成。只有当项目发生专门需求测试时,测试部门才灵活把专项测试人员委派到各个项目组进行专项测试。

四、软件测试常见分类有哪些?

五、软件开发流程和开发模型?

软件生命周期: 计划-》需求分析-》设计-》程序编写-》测试-》运行/维护 软件测试流程: 测试计划-》需求分析-》测试用例-》测试用例执行-》提交bug-》回归测试 瀑布模型:适用于需求很明确的项目,分阶段向下进行,无法回溯 迭代模型:需求不明确,迭代版本系统 敏捷开发模型: 敏捷开发是一种以人为核心、迭代、循序渐进的开发方法。在敏捷开发中,软件项目被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。 测试驱动开发模型:先编写测试代码,再写开发代码

六、软件测试模型有哪些?

V模型:反映了测试与开发阶段之间一一对应的特点,测试在开发之后,出错后回归测试量大 W模型:测试伴随整个开发周期,测试与开发同步进行,有利于尽早发现问题

经验分享 程序员 微信小程序 职场和发展