|
1.什么是测试?
使用人工或自动化来测试某个程序,来验证它是否满足规定的需求或者实际结果和预期结果之间的差别
2.为什么要测试?
在软件开发过程中容易出现缺乏有效沟通,软件复杂,编程错误,需求不断变更,时间的压力,缺乏文档的代码,软件开发工具和人员的自大等原因引发的错误,通过测试能够找出其中的错误,解决错误,从而提高软件的质量
3.测试的目的是什么?
是为了证明软件没有问题。检验,发现软件只能够的错误。预防,验证软件于需求是不是一致。
4.软件的什么周期分为哪几个阶段?具体的内容是什么?
大体份七个阶段,是计划,需求分析,设计,编码,测试,运行,评价。
计划 1.确定软件开发总目标2.给出软件给方面的设想3.研究可行性和解决方案
4.给出评估计划5.指定完整的实施计划
需求分析 对开发软件进行详细定义,给出《需求规格说明书》SRS。
设计 在设计阶段把各项需求转换成相应的体系结构,给出《概要设计说明书》HLD
编码 将软件设计转换成计算机能识别的语言,给出《详细设计说明书》LLD
测试 检测软件是否符合用户需求
运行 交付客户使用
评价 用户对软件好坏做出判断。
5.研发团队的组织架构与研发流程是什么?
常见的项目组架构 项目经理 SQA 开发经理 测试经理 配置经理 软件开发组 包括开发经理 分析人员,设计人员,开发人员 软件测试组 包括 测试经理 测试人员 配置管理组 包括 配置经理和配置管理员(CMO)
常见的研发流程 1.瀑布模型
2.螺旋模型
3,RUP流程
4.IPD流程
6.测试阶段怎么划分?
划分为 单元测试 集成测试 系统测试
7.什么是UT,IT,ST?它们有什么区别?
UT是测试软件的基本组成单元来进行正确性检验
IT是测试模块或子系统组装后功能以及模块间接口是否正确
ST是将被测软件系统和计算机硬件,数据库,外设,人员以及其他软件结合在一起,在实际运行环境下,对计算机系统进行一系列的组装测试和确认测试
区别在于测试方法不同,考察范围不同,评估基准不同。UI属于白盒测试,主要测试单元内部的数据结构、逻辑结构、异常处理,评估基准主要是逻辑覆盖率。IT属于灰盒测试,测试模块之间的接口于接口的数据传递关系以及整合后的功能,评估基准是接口覆盖率。ST属于黑盒测试,测试整系统对需求的符合度,评估的基准是对需求规格的覆盖率。
8.什么是回归测试?为什么要回归测试?回归测试的流程是什么?回归测试的测试策略有哪些?
是软件维护阶段,对缺陷进行修复后的测试
回归测试的流程是
1.在测试策略制定阶段,制定回归测试策略
2.确定需要回归测试的版本
3.测试版本发布后,按照回归测试策略来执行回归测试
4.回归测试通过,关闭缺陷跟踪单
5.回归测试不通过,缺陷跟踪单返回给开发人员,开发人员重新修改BUG.再次提交给测试人员回归测试
回归测试策略是 完全重复测试和选择性重复测试。选择重复新测试又分 覆盖修改法,周边影响法和指标达成法。
??????9.画V&V模型?
10.软件质量的定义是什么?影响软件质量的因素是哪些?ISO 2000的八大原则是什么?
一个实体的所有特性,基于这些特性可以满足明显或隐含的需求。
影响质量的因素主要是技术,组织和流程。
ISO的八大原则是以顾客为中心、领导作用、全员参与、过程方法、管理的系统方法、持续改进、基于事实的决策方法、互利的供方关系。
??????11.CMM/CMMI是什么?它的等级怎么划分?有什么目的?有什么作用?
CMM/CMMI是能力成熟度模型。它的等级是按文档来划分的。目的是帮助软件企业对软件工程过程进行管理和改进,增强开发与改进能力,从而能按时地,不超预算地开发出高质量的软件。作用
1.评估组用来识别组织中的强处和弱点。
2.评价组用来识别选择不同的业务承包商的风险和监督合同
3.管理者用来了解其组织的能力,并了解为了提高其能力成熟度而进行软件过程改进所需要进行的活动
4.技术人员和过程改进组用来作为指南,指导他们在组织中定义和改进软件过程
12.描述软件质量模型中的内容?
软件的功能性,包括适合性、准确性、互操作性、保密安全性、功能性的依从性。
软件的可靠性,包括成熟性、容错性、易恢复性、可靠性的依从性。
软件的易用性,包括易理解性、易学性、易操作性、吸引性、易用性的依从性。
软件的效率,包括时间特性、资源利用率、效率依从性。
软件的维护性,包括易分析性、易改变性、稳定性、易测试性、维护性的依从性。
13.测试的方法有哪些?
按测试的重点分为黑盒测试和白盒测试,按软件是不是在运行分静态测试和动态测试,是不是使用工具分为人工测试和自动化测试。
14.什么是白盒测试?
依据被测软件分析程序内部构造,并根据内部构造设计用例,来对内部控制流程进行测试
15.什么是黑盒测试?
把测试对象看做一个黑盒,只考虑整体特性,不考虑内部具体实现
16.什么是静态测试不运行被测软件系统,而采用其他手段和技术对被测软件进行检测的一种技术
17.什么是动态测试?
运行被测软件系统的测试
18.什么是人工测试?
测试活动由人来完成,狭义上指测试执行由人工完成
19.什么是自动化测试?
通过计算机模拟人的测试行为,替代人的测试活动,狭义上指测试执行由计算机来完成
????20.逻辑覆盖关注的内容是哪些?
21.常见的黑盒测试方法有哪些?
等价类划分法、边界值分析法、因果图分析法、判定表法、正交试验法、状态迁移法。
22.什么是同行评审?
正规检视
以发现软件产品中的缺陷为目的,但有正规流程,形式比较严格,多用于文档的评审
技术评审
以某个技术方案的裁决为目的,多发生在项目开始时,主要由高层和技术管理人员参与
走查
以发现软件产品中的缺陷为目的,没有正规的流程,形式比较随意,多用于代码的走查
23.自动化测试有什么意义?
1.提高回归测试效率
2.减少重复劳动时间
3.减少软件发布的时间
4.测试脚本能重复利用。
24.测试用例的八大要素是什么?
测试用例编号、测试项目、测试标题、重要级别、预置条件、输入、操作步骤、预期输出。
????25.什么是缺陷管理?引入的原因有哪些?
BUG
程序缺陷,电脑系统或者程序中存在的任何一种破坏正常运转能力的问题或者缺陷,都叫“BUG”,在实际工作中缺陷,错误和BUG都认为是一样的
缺陷(defect)
指静态存在于软件工作产品(文档,代码)中的错误,也指软件运行时由于错误被激发引起的和软件产品预期属性的偏离现象
错误(error)
指编写错误的代码
语法错误(synta error)
逻辑错误(logical error)
故障(fault)
软件运行中出现的状态,可引起意外情况,若不加处理,可产生失效,是一种动态行为
失效(failure)
软件运行时产生的外部异常行为结果,表现与用户需求不一致,功能能力终止,用户无法完成所需要的应用
引入的原因有:
1.开发过程中缺乏有效沟通,或者没有沟通
2.软件负责度越来越高
3.编程中产生的错误
4.需求不断变更
5.项目进度的压力
6.不重视开发文档
7.软件开发工具本身隐藏的问题
26.缺陷的属性有哪些?
1.bug发现人
2.bug发现的时间
3.bug的状态
NEW(BUG的初始状态)
OPEN(开发人员开始修改)
FIXED(开发人员修改BUG完毕)
CLOSED(回归测试通过)
REOPEN(回归测试失败)
POSTPONE(推迟修改)
REJECTED(开发人员认为不是BUG.拒绝BUG)
DUPLICATE(与已经提交的DEFACT重复)
ABANDON(被REJECTED和DUPLICATE的DEFACT,测试人员确认后确实不是问题,所改成的状态)
4.bug的严重程度
致命
基本功能不能实现,数据丢失等
严重
处理结果不正确,流程不对,性能达不到要求
一般
不影响整个系统的运行
建议
界面整体效果,提示信息等
5.bug所属的版本
6.bug修改日期
???????????27.画缺陷管理流程图?
28.如何写缺陷跟踪单?
缺陷跟踪单写作
5C准则
1.准确(Correct):每个组成部分的描述准确,不会引起误会
2.清晰(Clear):每个组成部分的描述清晰,易于理解
3.简洁(Concise):只包含必不可少的信息,不包括任何多余的内容
4.完整(Complete):包含复现该缺陷的完成步骤和其他本质信息
5.一致(Consistent):按照一致的格式书写全部缺陷报告
写作要点
1.再现:一般尽量三次再现故障,有间断的时候,记录发生的频率
2.初步定位:可能影响再现的变量.
3.推广:确定系统其他部分是否可能出现这种错误等
4.压缩:精简任何不必要的信息,特别是冗余的测试步骤
5.去除歧义:使用清晰的语言,避免使用有歧义的词汇
6.中立:公正的表达自己的意思,对错误以及其特征的事实进行陈述,避免夸张,幽默和讽刺
7.评审:至少有一个同行,最好是有经验的测试工程师或经理,在递交错误报告前阅读一遍
29.什么测试覆盖率?
用来度量测试完整性的一个手段,是测试技术有效性的一个度量 |
|