软件测试面试笔试题
一、测试总体
1. 什么是软件测试?
答:为了发现程序中的错误而执行程序的过程
2. 软件测试的目的?
答:首先,测试并不仅仅是为了要找出错误。通过分析错误产生的原因和错误的分布特征,可以帮助项目管理者发现当前所采用的软件过程的缺陷,以便改进。同时,这种分析也能帮助我们设计出有针对性地检测方法,改善测试的有效性。
其次,没有发现错误的测试也是有价值的,完整的测试是评定测试质量的一种方法。详细而严谨的可靠性增长模型可以证明这一点。
测试的目的是按照用户所需软件的质量,检查开发软件过程出现的bug, 使得开发人员及时修改,可以避免在开发结束的时候发现软件存在质量问题,避免公司不必要的损失。赢得用户对公司产品的认可。
测试的目的是以最少人力、物力和时间找出软件中潜在各种错误和缺陷,通过修正种错误和缺陷提高软件质量,回避软件发布后由于潜在的软件缺陷和错误造成的隐患带来的商业风险。
测试的附带收获是,它能够证明软件的功能和性能与需求说明相符合。实施测试收集到的测试结果数据为可靠性分析提供了依据。测试不能表明软件中不存在错误,它只能说明软件中存在错误。
3. 软件测试的目标
答:发现尽可能多的错误。测试是一个为了寻找错误而运行程序的过程。一个好的测试案例是指很可能找到迄今为止尚未发现的错误的用例。一个成功的测试是指揭示了迄今为止尚未发现的错误的测试。
4. 软件测试的原则
1) 应当把"尽早地和不断地进行软件测试"作为软件开发者的座右铭。
2) 测试用例应由测试输入数据和对应的预期输出结果这两部分组成。
3) 程序员应避免检查自己的程序。
4) 在设计测试用例时,应包括合理的输入条件和不合理的输入条件。
5) 软件测试的原则
6) 充分注意测试中的群集现象。经验表明,测试后程序中残存的错误数目与该程序中已发现的错误数目成正比。
7) 严格执行测试计划,排除测试的随意性软件测试面试笔试题完全版软件测试面试笔试题完全版。
8) 应当对每一个测试结果做全面检查。
9) 妥善保存测试计划,测试用例,出错统计和最终分析报告,为维护提供方便。
5. 测试的职责
测试经理:
1、制定测试计划。
2、确保测试过程正常进行。
测试工程师
1、编写测试用例
2、搭建测试环境
3、执行测试
6. 软件都有多少种分类?
答:根据功能的不同,电脑软件可以粗略地分成四个层次:
最贴近电脑硬件的是一些小巧的软件。它们实现一些最基本的功能,通常"固化"在只读存储器芯片中,因此称为固件。
系统软件包括操作系统和编译器软件等。系统软件和硬件一起提供一个"平台"。它们管理和优化电脑硬件资源的使用。
支持软件。包括图形用户界面、软件开发工具、软件评测工具、数据库管理系统、中间件等。
应用软件种类最多,包括办公软件、电子商务软件、通信软件、行业软件,游戏软件等等。
7. 测试的主要方面
答:A、功能测试:a、链接测试b、表单测试c、Cookies 测试d、设计语言测试e、数据库测试
B、性能测试:a、连接速度测试b、负载测试c、压力测试
C、接口测试:a、服务器接口b、外部接口c、错误处理
D、可用性测试: a、导航测试b、图形测试c、内容测试d、整体界面测试
E、兼容性测试:a、平台测试b、浏览器测试c、视频测试d、Modem/连接速率测试f、打印机测试g、组合测试
F、安全测试:a、目录设置b、登录c、Session d、日志文件e、加密f、安全漏洞
G、代码合法性测试:a、程序代码合法性检查b、显示代码合法性检查
H、文档测试:
8. 软件测试的对象
答:软件测试并不等于程序测试。软件测试应贯穿于软件定义与开发的整个期间。需求分析、概要设计、详细设计以及程序编码等各阶段所得到的文档,包括需求规格说明、概要设计规格说明、详细设计规格说明以及源程序,都应成为软件测试的对象
9. 什么是"测试案例"?
答:测试案例是一份文档,它描述了一个输入、反应、或者是与其相应的预期的响应,以便来判断应用软件的工作是否正常。测试案例应当包括测试标识、测试案例的名称、目标、测试条件/设置、输入数据要求、步骤、以及预期的结果。
注:开发一个应用软件的测试案例的过程,需要全面、深入地考虑该软件的操作,所以有助于发现在其需求或设计里面的问题。因此,如果有可能,在开发周期中应当尽早准备测试案例。
10. 怎么编写案例?
答:案例的编写与测试阶段的定义有很大的关系。系统测试和unit 测试的案例可能不同。总体而言测试案例根据系统的需求而定。
11. 软件测试的两种方法
答:黑盒测试和白盒测试
黑盒:这种方法是把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的`需求规格说明书,检查程序的功能是否符合它的功能说明。黑盒测试又叫做功能测试或数据驱动测试。
白盒:此方法把测试对象看做一个透明的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。因此白盒测试又称为结构测试或逻辑驱动测试。
12. 测试结束的标准是什么?
答:1.用例全部执行。2.覆盖率达到标准。3.缺陷率达到标准。4.其他指标达到质量标准
13. 软件的生命周期
答:软件生命周期是指一个计算机软件从功能确定、设计,到开发成功投入使用,并在使用中不断地修改、增补和完善,直到停止该软件的使用的全过程(从酝酿到废弃的过程)
14. 什么是软件的生命周期?
生命周期从收到应用软件开始算起,到该软件不再使用为止。它有如下各方面的内容:
初始构思、需求分析、功能设计、内部设计、文档计划、测试计划、文档准备、集成、测试、维护、升级、再测试、逐步淘汰(phase-out)、等等。
15. 软件测试按过程分为三个步骤
答:单元测试:单元测试又称模块测试,是针对软件设计的最小单位─ 程序模块,进行正确性检验的测试工作。其目的在于发现各模块内部可能存在的各种差错软件测试面试笔试题完全版默认。
单元测试需要从程序的内部结构出发设计测试用例。多个模块可以平行地独立进行单元测试。
集成测试:在运行(可能是不完整)的应用中保证软件单元被结合后能正常操作的测试执行的阶段
系统测试:当应用作为整体运行时的测试执行阶段
16. 面向对象的设计如何影响测试?
答:好的面向对象的工程设计使得从代码追溯内部设计、再到功能测试,最后追溯到需求,成为一件容易的事。因为它对黑盒测试的影响很少(不需要了解应用软件的内部设计) ,而白盒测试只需针对该应用软件的对象。如果该应用软件设计得好,就可简化测试设计
17. 软件带来错误的原因很多。主要的原因有哪些?
1) 交流不够、交流上有误解或者根本不进行交流
2) 软件复杂性
3) 程序设计错误
4) 需求变化
5) 时间压力
6) 代码文档贫乏
7) 软件开发工具
18. 软件测试的步骤是什么?
1) 测试过程按4 个步骤进行,即单元测试(Unit Testing)、集成测试(Integrated Testing)、确认测试(Validation Testing)和系统测试(System Testing)及发版测试。
2) 开始是单元测试,集中对用源代码实现的每一个程序单元进行测试,检查各个程序模块是否正确地实现了规定的功能。
3) 集成测试把已测试过的模块组装起来,主要对与设计相关的软件体系结构的构造进行测试。
4) 确认测试则是要检查已实现的软件是否满足了需求规格说明中确定了的各种需求,以及软件配置是否完全、正确。
19. 如何录制测试脚本?