究竟什么是软件测试呢?
简单地来说,在软件生产过程中,测试人员手工或者利用测试工具有计划地检查软件程序代码和用户文档,检查软件功能、性能、接口、安全性、数据等存在的缺陷(bug),并提交缺陷并追踪和及时复测验证缺陷以保证缺陷及时解决。
简单分享些软件测试的面试题:
1、软件测试的含义
简单讲,软件测试是发现缺陷的过程;IEEE 中的定义是,软件测试是使用人工或者自动手段来运行或测定某个系统的过程,目的在于检验它是否满足规定的需求或者验证预期结果与实际结果之间的差别。
2、软件测试的目的
验证软件是否按照各类文档等规定进行开发,发现软件缺陷并提交缺陷,待开发人员解决后复测缺陷从而提高软件的质量,让客户对产品有更好的体验,监督产品开发,降低软件开发成本,保证软件的安全,提高软件的性能等。
3、软件的测试方法
软件测试方法一般分为白盒测试和黑盒测试两种方法。
· 白盒测试:白盒测试又称玻璃盒测试。它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试,并通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。因此白盒测试又称为结构测试或逻辑驱动测试,主要应用于单元测试。
· 黑盒测试:黑盒测试是把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。因此黑盒测试又叫做功能测试或数据驱动测试,主要应用于出厂测试、联调测试、集成测试、验收测试。
4、软件测试分为哪几个阶段,各阶段的测试目的是什么?
测试分为单元测试、集成测试、系统测试、验收测试四个阶段。
· 单元测试:主要在单个模块的测试,是开发人员编写的一小段代码,用于检验被测代码与预期的执行结果是否一致,一般由开发人员自己来测试。
· 集成测试:集成测试是在单元测试的基础之上,主要在模块之间的测试,用来验证模块之间的连通性,确保连接起来的功能业务等也能正常工作。
· 系统测试:针对整个系统的测试,全面的验证产品是否符合系统说明书的要求,可以发现系统分析和涉及中的错误、安全措施是否完善,能不能保证系统不受非法侵入、超负荷量等情况下是否还能正常地工作。
· 验收测试:是由客户主导或者委托第三方验收,是上线前的最后一个测试操作,验收测试是确保是否符合用户表明的预定要求,软件的功能和性能、安全性等如同用户所期待的一样。
5、简单说下前端交易测试
· 等价类划分法:等价类划分是功能测试案例设计中一种重要的、常用的设计方法,它将不能穷举的测试过程进行合理分类,从而保证设计出来的测试案例具有完整性和代表性。等价类划分是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试案例,该方法是一种重要的、常用的黑盒测试案例设计方法。
· 边界值分析方法:边界值分析方法是对等价类划分方法的补充。使用边界值分析方法设计测试案例,首先应确定边界情况,通常输入和输出等价类的边界,就是应着重测试的边界情况。应当选取正好等于、刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据。
· 因果图:前面介绍的等价类划分方法和边界值分析方法,都是着重考虑输入条件,但未考虑输入条件之间的联系,相互组合等。考虑输入条件之间的相互组合,可能会产生一些新的情况,但要检查输入条件的组合不是一件容易的事情,即使把所有输入条件划分成等价类,他们之间的组合情况也相当多。因此必须考虑采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试案例,这就需要利用因果图(逻辑模型)。因果图方法最终生成的就是判定表.它适合于检查程序输入条件的各种组合情况。
· 功能图:能图法,是和因果图对应的一种测试案例设计方法。因果图将输入作为因素,将输出作为结果,以构造输入和输出之间的关系--“因果图”,处理软件功能的静态说明,而功能图是描述程序状态变化、转移的过程。
· 错误推测方法:基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性的设计测试案例的方法。错误推测方法的基本思想:列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据错误来选择测试案例。
6、简单说下测试的主要角色和职责
· QA质量保证人员:软件过程中各种制度、规范制定人员,负责制度规范制定、宣贯、推广、更新、发布
· QC质量控制人员:软件过程中各种行为规范检查人员,负责过程化交付物检查
· QT质量测试人员:软件过程中软件测试实施人员,负责软件质量评估
· QM质量管理人员:软件过程中质量整体把控管理人员,负责整体质量
· PM项目管理人员:软件过程中项目整体管理人员,负责整体交付
7、软件测试通过的标准是什么标准?
· 需求覆盖率达到100%
· 测试用例执行率达到100%
· 致命缺陷、严重缺陷:遗留0个
· 一般缺陷、微小缺陷:遗留不超过总缺陷数的1%
· 测试报告通过评审
8、简述软件系统中用户文档的测试要点?
用户文档中用到的术语要与目标的读者相适应,标准定义与业界规范相符合。
用户文档中功能的描述要完整的。不能让用户产生疑问。
用户文档中的功能描述要与实际软件中的功能一致。不能描述过盛。
用户文档描述的内容要方便用户阅读并且能够让用户很清楚地知道如何操作。
检查所有信息是否真实且正确,重点检查过期产品说明书中的错误,确认是否最新版本,引用是否已更新,尝试链接是否准确等等。
9、开发人员说不是缺陷时,你如何应付?
首先再确认下自己写的测试案例和执行有没有问题,如果没有问题再和开发人员沟通确认到底是不是缺陷,如果开发人员仍然坚持是缺陷的话,保存好自己的执行证迹、测试案例,截图最好要有日期,把这个问题抛给你的组长去协调沟通,不用一直扯皮,浪费时间,做好自己的职责就好。
10、测试用例一般包括哪些内容?
用例编号、测试环境、用例标题、操作步骤、输入数据、执行结果、预期结果、测试人员、执行日期、用例描述等。