软件测试基础知识巩固(面试准备)

(以下内容是本人在准备面试时从相关网站整理出来的软件测试汇总,实际面试做题时果然有很多熟悉的题目,贴在这里供日后自己回顾和大家参考)

1、什么是软件测试?

从广义上说,软件测试是软件生命周期中的所有检查、评审和确认工作,包括在分析、设计阶段,以及完成开发后确认阶段的各类文档、代码的审查和确认。

从狭义上说,是识别软件缺陷的过程,即实际结果与预期结果不一致。

2、软件测试的目标?

最终目标是确保软件功能符合用户需求,在产品发布或交付前尽可能多的发现并改正缺陷。

3、软件测试的原则?

  1. Good-enough原则。一种权衡投入/产出比的原则。
  2. 保证测试的覆盖度,但穷举测试是不可能的。
  3. 所有测试都应追溯到用户需求。
  4. 越早测试越好,测试过程与开发过程应是相互结合的。
  5. 测试的规模由小到大,从单元测试到系统测试。
  6. 为了尽可能的发现错误,应由独立的第三方进行测试。
  7. 不能为了便于测试擅自修改程序。
  8. 既应该测试软件应该做什么,也应该测试软件不应该做什么。
  9. 测试只是展示缺陷。测试只能表明有缺陷存在,但不能证明没有缺陷,测试能降低未发现缺陷留存的概率,却不能证明软件是绝对正确的。
  10. 穷尽测试是不可能的。测试所有的输入和条件组合是不可能的,可以取而代之的是基于风险和优先级的测试。
  11. 缺陷簇生。要对缺陷发生率高的模块投入更多的测试。少量的模块往往隐藏了大部分的缺陷。缺陷发生率高的模块往往与需求不清、设计不当、编码复杂度高等内在原因关联,所以从风险的角度来看必然较高。
  12. 杀虫剂悖论。相同的测试再重复多次后就无法再找到缺陷了。测试用例要不断评审修改,不断添加新的和不同的测试,就有可能找到更多缺陷。
  13. 测试是上下文关联的。测试在不同上下文环境中的执行是不同的。
  14. 无错谬论。即使修改了系统中存在的大部分缺陷,但若系统本身背离了用户需求,那么发现和修复缺陷就毫无帮助了。

4、软件测试的度量?

  1. 测试覆盖率:有多少需求、代码已经被测试了。
  2. 缺陷发现率:缺陷是何时被发现,且有多少缺陷已经被发现,缺陷可以根据严重性来分类,需要记录的数据有:缺陷数量、缺陷的严重等级等。
  3. 测试成功率:有多少测试用例已经通过,且有多少运行正常的,需要记录的数据有:通过的测试用例数、未通过的测试用例数、已执行的测试用例数等。

5、多少测试才足够?

取决于风险程度(商业风险和技术风险)和项目约束条件(时间和经费)。

6、调试和测试的区别?

调试 for开发人员发现缺陷原因,修复代码并确认缺陷已经被修复;

测试 for 测试人员识别缺陷。

7、测试的主要步骤?

计划与控制;分析与设计;实施与执行;评估出口准则和报告;测试结束活动。

8、什么是回归测试?

回归测试是指修改了旧代码后,重新测试以确认修改没有引入新的错误或导致其他代码产生错误。

9、测试的标准是什么?

测试的标准是用户的需求。

10、为什么要避免测试自己的程序?

测试自己的程序时,容易顺着编写代码时的思路进行测试,很少从其他角度思考,基于这种思维定势,就难以发现潜在的错误。

由于心理因素,人们潜意识都不希望找到自己的错误。基于这种思维定势,人们难以发现自己的错误。一定程度的独立测试可以更加高效的发现软件缺陷和软件存在的失效。

11、软件测试的要素有哪些?

  1. 质量。软件质量是软件测试的目标,也是软件测试工作的中心。一切从质量出发,也就是一切从客户需求出发。任何违背质量的东西都是问题,测试就是要找出这些问题。
  2. 人员。人是决定的因素,测试人员的态度、素质、能力决定着测试的效果,对测试产品的质量也有很大的影响。测试人员因素包括测试组织结构、角色和责任的定义。
  3. 技术。软件测试技术,包括方法、工具。
  4. 资源。主要是指测试环境中所需要的硬件设备、网络环境,甚至包括测试数据。另一个重要因素就是测试时间,时间也是测试的资源。
  5. 流程。从测试计划和测试用例的创建、评审到测试的执行、报告,设定每个阶段的进出标准。

12、什么是软件质量?

软件特性的总和,软件满足规定或潜在用户需求的能力。

13、软件测试与软件质量保证的区别?

软件测试只是保证工作中的一个环节,软件质量保证与软件测试是软件质量工程的两个不同层面的工作。

从性质上看,软件测试属于技术性工作,而软件质量保证属于管理型工作;从对象上看,软件测试的对象是软件产品,而质量保证的对象是整个软件过程,覆盖公司层面的各个领域;从手段上看,软件测试以事后测试检验为主,而软件质量保证则强调缺陷的预防。

14、测试团队的基本责任?

  1. 发现软件程序、系统或产品中所有的问题­
  2. 尽早的发现问题­­­­­­­­­­
  3. 督促和协助开发人员尽快地解决程序中的缺陷
  4. 帮助项目管理人员制定合理的开发计划
  5. 对缺陷进行跟踪、分析和分类总结,以便让项目的管理人员和相关的负责人员能够及时、清楚地了解产品当前的质量状态
  6. 帮助改善开发流程、提高产品开发效率
  7. 促进程序编写的规范性、易读性、可维护性等

15、什么是缺陷发现率(DDP)?</

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值