软件测试题目
软件测试题目
1、作为测试人员应该具备哪些素质?
协调能力、耐心、不放过每一个可能的错误
2、测试的目的?
尽早的找出软件产品中的问题,避免损失,使之尽可能的满足用户的需求
3、测试分为哪几个阶段?
一共5个阶段:单元测试、集成测试、确认测试、系统测试、验收测试
4、单元测试的测试对象、目的、测试依据、测试方法?
测试对象是模块内部的程序错误,目的是为了消除局部模块逻辑和功能上的错误和缺陷。依据是模块的详细设计。测试方法是白盒测试
5、怎样写测试计划和测试用例?
测试计划中应该包含详细的测试策略,测试方法,合理详尽的资源安排。测试用例依赖于需求(包含功能与非功能需求)是否细化到功能点,是否可测试等
6、详细介绍下各种测试类型的含义
①单元测试(模块测试)是开发编写的一小段代码,用于检验被测代码的一个很小的功能。
②集成测试(组装测试、联合测试)是单元测试的逻辑扩展,将多个单元组合成一个组件,并且测试他们之间的接口。
③系统测试是将测试的子系统装配成一个完整的系统来测试。他是检验系统是否确实能够提供系统方案说明书中制定的功能的有效方法。系统测试的目的是对最终的软件系统进行全面的测试,确保最终软件系统满足产品需求而遵循的系统设计。
④验收测试是部署软件之前的最后一个测试,验收测试的目的是保证软件准备就绪,并且可以让用户执行软件的既定功能和任务。
7、测试计划包括什么?
测试策略、测试配置、测试方法、测试区域、测试周期、测试资源、测试交流、风险分析
8、测试中的杀虫剂事件?
用于描述测试人员对同一个测试对象进行测试次数越多,发现的缺陷就会越少的现象。就像老农用一种农药,害虫就会产生免疫力,农药就发挥不了作用。这中现象的根本原因就是测试人员对测试软件过于熟悉,形成思维定势。
9、软件的生命周期?
计划阶段-需求分析-设计阶段-编码-测试-运行与维护
10、测试用例?
用例编号-测试项目-测试标题-重要级别-预置条件-输入数据-执行步骤-预期结果
11、给你一个网站,你如何进行测试?
首先查找需求说明等相关文档,分析测试需求
制定测试计划、确定测试范围和测试策略,一般包含:界面测试、性能测试、功能测试、数据库测试、安全性测试、兼容性测试
设计测试用例:
功能性测试:
链接测试、提交测试、多媒体加载等
界面测试:
风格是否统一,美观、界面布局是否合理、控件是否正常使用、文字检查等
性能测试:
压力测试、负载测试、强度测试
数据库测试:
存取以及数据内容的验证
安全性测试:
基本的登录功能检查、是否存在溢出错误,导致系统崩溃、sql注入等
兼容性测试:
浏览器的兼容性、操作系统的兼容性、软件平台的兼容性、数据库的兼容性
12、一台客户端有三百个客户与三百个客户端有三百个客户对服务器施压,有什么区别?
300个用户再一个客户端上,需要更大的带宽,会占用客户机更多的资源,而影响测试结果,线程之间发生干扰,而产生一些异常。
所有用户再一个客户端上,不必考虑分布式管理的问题;而用户分布再不同的客户端上,需要考虑使用控制器来整体调配不同的客户机上的用户,同时还需要给与相应的权限。
13、试述软件的概念和特点,软件复用的含义,构建包括哪些?
软件是计算机系统中与硬件相互依存的另一部分,与计算机系统操作有关的计算机程序、规程、规则,以及可能有的文件、文档及数据。
软件复用是将已有的软件的各种有关知识用于建立新的软件,以缩减软件开发和维护的花费。
可以被复用的软件成分一般被称为可复用构件
14、软件生存周期及其模型是什么?
整个生存周期包括:计划(定义)、开发、运维(维护)三个时期
周期模型:瀑布模型、快速原型模型、迭代模型
生命周期阶段:
软件计划与可行性分析
软件设计
编码
软件测试
运行与维护
15、什么是软件测试?软件测试的目的与原则?
在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。
软件测试的目的:
测试时程序执行的过程,目的在于发现错误
一个成功的测试用例在于发现至今未发现的错误
确保产品完成了他所承诺或公布的功能,并且用户可以访问到的功能都有明确的书面说明
确保产品满足性能和效率的要求
确保产品是健壮和适应用户环境的
软件测试的原则:
测试用例中一个必须部分是对预期输出或结果进行定义
程序员应当避免测试自己编写的程序
编写软件的组织不应当测试自己编写的软件
应当彻底检查每个测试的执行结果
测试用例的编写不仅应当根据有效和预期到的输入情况,而且也应当根据无效和未预料到的输入情况
检查程序是否未作其应该做的,还要检查程序是否做了其不应该做的
应该避免测试用例用后即弃,除非软件本身就是一次性的软件
计划测试不应默许假定不会发现错误
程序某部分存在更多错误的可能性,与该部分已经发现的错误数量成正比
16、软件配置管理的作用?软件配置包括什么?
软件配置管理应用于整个软件工程工程,目的是使错误降为最小并最有效地提高生产效率
软件配置包括如下内容:配置项识别、工作空间管理、版本控制、变更控制、状态报告、配置审计
17、什么是软件质量?
软件质量是软件符合明确叙述的功能和性能需求,文档中明确描述的开发标准。
18、目前主要的测试用例设计方法是什么?
白盒测试:逻辑覆盖、循环覆盖、基本路径覆盖
黑盒测试:边界值分析、等价类划分、错误猜测法、因果图法、场景法
19、软件的安全性应该从哪几个方面去测试?
软件安全测试包括程序、数据库安全性测试
用户认证安全测试:明确区分系统中不同用户权限、用户登录密码是否可见、可复制、是否可以通过绝对路径进行登录、用户退出后是否删除了所有鉴权标记
数据库安全:数据的可管理性、数据的独立性、数据可备份和恢复能力
20、什么是测试用例,什么是测试脚本,两者的关系是什么?
为实施测试而向测试系统提供的输入数据、操作或各种环境设置以及期望结果的一个特定的集合
测试脚本是为了进行自动化测试而编写的脚本
测试脚本的编写必须相应的测试用例
21、什么是静态测试、动态测试、黑盒测试、白盒测试、α测试、β测试?
静态测试:不运行程序本身而寻找程序代码中肯存在的错误或评估代码的过程
动态测试:实际运行被测程序,输入相应的测试实例,检查运行结果与预期结果的差异,判定执行结果是否符合要求,从而检验程序的正确性、可靠性、和有效性、并分析系统运行效率和健壮性等
黑盒测试:一般用来确认软件功能的正确性和可操作性,目的性检测软件的各个功能是否得以实现,把被测程序当作一个盒子,不考虑其内部的结构,依靠软件规格说明书来确定测试用例和推断测试结果的正确性
白盒测试:根据软件的内部结构,来分析进行测试,基于代码的测试
α测试:用户在开发环境下测试
β测试:软件的多个用户在一个或多个用户的实际使用环境下进行测试
22、软件质量保证体系是什么?
SQA,他贯穿整个软件开发过程,他应包括文档评审、代码管控、代码评审、变更管理、配置管理、版本管理、和软件测试
23、软件产品质量特性是什么?
功能性:适应性、准确性、互操作性、安全性
可靠性:成熟性、容错性、易恢复性
可使用性:易理解性、易学习性、易操作性
效率:时间特性、资源特性
可维护性:易分析性、稳定性、易测试性
可移植性:易安装、易替换
24、软件测试的策略是什么?
在一定的软件测试标准、测试规范的指导下,依据测试 项目的特定环境约束而规定的软件质量的原则、方式、方法的集合
25、测试人员在软件开发过程中的任务是什么?
尽可能早找出系统中的bug
避免软件开发过程中缺陷的出现
关注用户的需求
总的目标是:确保软件的质量
26、一条缺陷记录包含哪些内容?
Bug编号、严重级别、优先级、bug产生的模块、bug大体内容、bug对应的版本、bug详细描述、bug产生的条件
27、如何测试一个纸杯?
功能行、安全性、可靠性、可移植性、兼容性、易用性、用户文档、疲劳测试、压力测试
28、Internet采用哪种网络协议?
Tcp/ip协议,主要层次结构为:应用层、传输层、网络层、数据链路层
29、集成测试?
自底向上集成、自顶向下集成
30、软件验收包括?
正式验收测试、α测试、β测试
31、系统测试的策略?
性能测试、负载测试、强度测试、安全测试、配置测试、安装测试、恢复测试、可用性测试
32、设计系统测试需要参考哪些文档?
软件测试文档、软件需求文档、迭代计划
33、等价类划分法,如文本框?
特殊字符、英文字母、小于10个字符、大于10个字符、空值、数字和其他混合
34、软件测试从什么时候开始。为什么?
应该在需求分析阶段就介入
35、什么是回归测试?
回归测试有两类:用例回归和错误回归
36、软件测试类型有哪些?
按测试测策略:静态与动态测试、手工和自动化测试、冒烟测试、回归测试
按测试阶段:单元测试、集成测试、系统测试
其他常见测试方法:功能测试、性能测试、安全测试、易用性测试、文档测试、配置测试、界面测试、安装测试、兼容性测试、恢复测试
37、你认为做好测试计划工作是什么?
明确测试目标、增强测试计划的实用性
坚持5w规则,明确内容与过程
38、你认为测试用例设计工作的关键是什么?
白盒测试:以较少的用例覆盖尽可能多的内部程序逻辑
黑盒测试:以较少的用例覆盖模块输出和输入接口
39、测试结束的标准是什么?
没有严重的bug,普通bug在3个以下
40、一套完整的测试应该包括哪些阶段?
可行性分析、需求分析、概要设计、详细设计、编码、单元测试、集成测试、系统测试、验收测试
41、测试用例设计的原则是什么?
代表性、可判定性、可再现性
42、面向对象的测试用例设计有几种方法?如何实现
给类中的每个构造函数设计一组测试用例
组合类中的类变量、实例变量
组合类中的各种方法
根据前置条件和后置条件设计测试用例
根据代码设计测试用例
43、一份测试计划应该包含哪些内容?
背景、项目简介、目的、测试范围、测试策略、人员分工、资源要求、进度计划、参考文档、常用术语、提交文档、风险分析
44、如何定位测试用例的作用?
组织性:编写、功能覆盖、重复性、跟踪、测试确认
45、什么是兼容性测试?
主要验证软件产品在不同版本之间的兼容性。
46、需求测试的注意事项有哪些?
分级是否清晰、可行性、交叉引用是否合理、描述是否有歧义、是否可验证、是否具有独立性
47、主键、外键的作用、索引的优点与不足?
主键:表中的唯一标识 作用:保证实体的完整性、加快数据库的操作速度
外键:是主键的从属,表示了两个表之间的联系。作用:避免冗余
优点:保证数据的唯一性、加速数据的检索速度
缺点:创建索引需要时间,且随着数据量的增加而增加;索引需要占用物理空间;对表中数据修改时,索引也需要动态维护
48、性能测试流程?
测试需求分析-测试计划制定与评审-测试用例的设计与开发-测试执行与监控-分析测试结果-编写性能测试报告-测试经验总结
49、简述bug的生命周期?
有效的记录bug-使用bug模板-评价bug优先级和严重性-bug的生命-维护bug数据库
50、缺陷记录应该包含的内容?
缺陷标识、缺陷类型、缺陷严重程度、缺陷产生可能性、缺陷优先级、缺陷状态、缺陷起源、缺陷来源、缺陷原因
51、你认为做好测试计划工作的关键是什么?
了解项目或系统的业务需求,了解项目的进度计划安排情况