填空题
1.正交试验测试用例设计的特点_均匀分散,整齐可比
2.某个输入框中只允许输入的值为整数,区间范围为(-33,91],则需要测试哪几个边界值_-33、-32、91、92
- 软件测试对象包括__程序、_文档、数据
- 软件测试按照是否运行程序划分分为_静态测试、_动态测试___
- 软件测试计划的编写人__测试组长或者测试经理(有经验软件测试负责人)
- 软件需求分析中的分析方法包括哪四个部分:测试要点分析、功能交互分析、质量特性分析、__测试类型分析
- 因果关系包括哪四种:恒等、非、__与_、或
- 测试用例的执行状态有哪些:No Test、PASS、_Fail、Block、Investigate
- Bug中为了更容易读懂,需要添加哪些附加信息:视频、截图、日志__、抓包
- CMMI分为哪5级:初始级、受管理级、已定义级、定量管理级、持续优化级
- 缺陷密度是__bug数__与__代码量___的比值
- 测试计划的评审人_PM__、测试主管、组内测试工程师、产品经理、QA
- 质量特性中的效率包括_时间_、_资源
- 缺陷管理工具有哪些_Bugfree_、_Bugzilla__、Mantis、TD、Jira、QC
- 软件的生命周期:需求_设计、编码、测试、维护、升级、废弃
- 判定表中由哪四部分组成_条件桩_、动作桩、条件项、_动作项
- 错误推测法是基于_经验__和__直觉__的设计测试用例方法
- 测试计划编写需要参考哪些文档_项目计划_、_版本计划__、_测试需求分析
- 测试的设计文档包括哪两个_测试方案_、测试用例
- Bug的生命周期中有哪些状态_new、open、fixed、reopen、closed、rejected
- 冒烟测试的英文___smoking testing/Build Verification Test_
- QTP中有两个视图分别为:关键字(Keyword View)和_专家(Export View)
- LR中”denglu”事物前插入一个名叫”zelin’的集合点的函数为:lr_rendezvous (”zelin”);
- LR和OTP自动化工具所使用的语言分别是什么:C_和_VBScript
- 一条测试用例包含哪些内容:id__、标题、_优先级__、_预置条件__、__操作步骤_、_预期结果__、_编写人__、编写日期、数据、路径等
- 安全保密性和兼容性测试分别是属于质量特性里面的哪两个特性:_功能__和_可移植性。
- W模型中,开发人员职责:用户需求、需求分析、_概要设计__、详细设计、编码_、集成、实施、交付
- 单个输入框能够用到的黑盒测试用例设计方法_等价类_、边界值、_错误推测
- 在参数化列表中有四个值:甲乙丙丁,迭代执行6次,执行的顺序Sequence+lteration,脚本只有输入参数化值,回访脚本输出参数化值顺序为:甲乙丙丁甲乙
- Linux的超级用户是 root
- Linux系统中,查看文件的命令是什么?写出至少三个:cat、more、less、head、tail
- 命令_ cp A/F B __可以实现将A目录下的F文件拷贝到B目录下
- 命令___mv A B__实现将当前目录下A文件修改为B文件
- 命令find . –name “MOBllE”实现搜索当前目录下(含子目录)所有文件名中含有MOBllE的文件
- 杀掉某个进程应该使用_Kill_命令
- 查看当前运行的进程应该用什么 PS aux 命令
- 在UNIX系统中如何列印出隐藏文件: ls – a
- ls_l后显示某文件规则是-rwxr-xr-x,其中x说明该文件 具有执行的权限
- 修改文件权限的命令是___ chmod ___
- 显示环境变量UNAME的值使用命令___echo $UNAME_
- 要将文件A和B的内容合并成为文件C使用命令___cat A B > C _
- 软件的生命周期从软件的计划到废弃不用为止,划分为若干阶段,并赋予任务和活动,他们分别是: 系统调查 、 系统分析 、 系统设计 、 程序设计 、 系统测试 和 运行维护
- 软件开发模型是软件开发全过程、活动和任务的结构构架,请列举3种软件开发模型:
V 、 W 、 X - 针对软件的外部特征的测试方法称为 黑盒测试 ,此种测试方法在设计测试用例的时候,常见的方法有 等价类划分 、 边界值分析 、场景法
- 针对软件的内部结构进行的测试称为 白盒测试 ,对于此种测试方法,一般的覆盖率要求有 语句覆盖 、 分支覆盖 、 条件覆盖
- 在测试中的80-20原则是指:80%的缺陷存在于20%的软件程序中或模块中
- 系统测试中,常见测试类型有: 功能测试 、性能测试 、 安全测试、 兼容测试 、安装/卸载测试 (请列举5种)
- 可靠性测试的两个关键性能指标是: 规定时间内 、 规定条件下
- OSI七层协议中,最上面一层定义为 表示层
- 关系数据库的3个基本要素 实体 、 关系 和 属性
- 目前Unix操作系统提供的一个常用的文本编辑器是 vi ,其有 命令 和 末行 两种模式
- Unix中常见的3种shell是: csh 、 bsh 和 ksh
- Linux 下查看整体磁盘空间的命令是 df 查看文件属性的命令是 ll 或 ls –l ,查看系统IP地址的命令是 ifconfig
- Web性能测试基本性能指标为: 响应时间,并发数,吞吐量,资源利用率
- 在测试执行结束后应该提交的文档有:测试问题报告 、测试记录报告 、 阶段问题统计报告
- 在测试总结后应该提交的文档有:测试问题分析报告、_测试总结报告
- RAD方法中由于根本的 需求 没有被冻结,所以用户在设计的过程中是迭代的
- 在RAD环境的测试是基于开发过程中的 用户改进迭代
- 在RAD方法中由于设计、编码和集成的反复循环性,导致了测试的 设计 、 执行等的循环性
- 测试项目的流程中一般有 测试策划 、 测试设计 、 测试准备 、 测试执行 、 测试总结 五个阶段
- 在测试规划过程中,应对 测试内容 、 测试需求的资源 、 测试通过的标准 、 测试进度和风险 进行计划
- 在测试设计过程中,应做出 测试计划 、测试用例,并要经过评审
- 在执行测试的过程中应该注重用例执行时 系统的实际动作和输出的真实准确记录
- 所有的测试都应追溯到 用户需求
- 在集成测试的过程中,由于采用的测试策略不同,需要集成测试人员自己去编写 驱动器 和 桩模块
- 对面向过程的系统采用的集成策略有:自顶向下,自底向上两种
- 设计系统测试计划需要参考的项目文挡有:软件测试计划,软件需求工件和迭代计划
简答题
1.软件测试分哪两种方法?分别适合什么情况?
软件测试方法一般分为两种:白盒测试与黑盒测试。白盒测试又称为结构测试、逻辑驱动测试或基于程序本身的测试,它着重于程序的内部结构及算法,通常不关心功能与性能指标;黑盒测试又被称为功能测试、数据驱动测试或基于规格说明的测试,它实际上是站在最终用户的立场,检验输入输出信息及系统性能指标是否符合规格说明书中有关功能需求及性能需求的规定。
2.一套完整的测试应该由哪些阶段组成?分别阐述一下各个阶段。
计划阶段、设计阶段、白盒单元、白盒集成、黑盒单元、黑盒集成、系统测试、回归测试、验收测试一套完整的测试应该由五个阶段组成:
1)测试计划首先,根据用户需求报告中关于功能要求和性能指标的规格说明书,定义相应的测试需求报告,即制订黑盒测试的最高标准。以后所有的测试工作都将围绕着测试需求来进行,符合测试需求的应用程序即是合格的,反之即是不合格的;同时,还要适当选择测试内容,合理安排测试人员、测试时间及测试资源等。
2)测试设计将测试计划阶段制订的测试需求分解、细化为若干个可执行的测试过程,并为每个测试过程选择适当的测试用例(测试用例选择的好坏将直接影响测试结果的有效性)。
3)测试开发建立可重复使用的自动测试过程。
4)测试执行执行测试开发阶段建立的自动测试过程,并对所发现的缺陷进行跟踪管理,测试执行一般由单元测试、组合测试、集成测试、系统联调及回归测试等步骤组成,测试人员应本着科学负责的态度,一步一个脚印地进行测试。
5)测试评估结合量化的测试覆盖域及缺陷跟踪报告,对于应用软件的质量和开发团队的工作进度及工作效率进行综合评价。
描述使用bugzilla缺陷管理工具对软件缺陷(BUG)跟踪的管理的流程
测试人员或开发人员发现bug后,判断属于哪个模块的问题,填写bug报告后,系统会自动通过Email通知项目组长或直接通知开发者。
1) 经验证无误后,修改状态为VERIFIED.待整个产品发布后,修改为CLOSED.
2) 还有问题,REOPENED,状态重新变为“New",并发邮件通知。
3)项目组长根据具体情况,重新reassigned分配给bug所属的开发者。
4) 若是,进行处理,resolved并给出解决方法。(可创建补丁附件及补充说明)
5)开发者收到Email信息后,判断是否为自己的修改范围。
6) 若不是,重新reassigned分配给项目组长或应该分配的开发者- 什么是兼容性测试?兼容性测试侧重哪些方面?
兼容测试主要是检查软件在不同的硬件平台、软件平台上是否可以正常的运行,即是通常说的软件的可移植性。
兼容的类型,如果细分的话,有平台的兼容,网络兼容,数据库兼容,以及数据格式的兼容。
兼容测试的重点是,对兼容环境的分析。通常,是在运行软件的环境不是很确定的情况下,才需要做兼容。根据软件运行的需要,或者根据需求文档,一般都能够得出用户会在什么环境下使用该软件,把这些环境整理成表单,就得出做兼容测试的兼容环境了。
兼容和配置测试的区别在于,做配置测试通常不是Clean OS下做测试,而兼容测试多是在Clean OS的环境下做的。 你所熟悉的软件测试类型都有哪些?请试着分别比较这些不同的测试类型的区别与联系(如功能测试、性能测试……)?
Compatibility Testing(兼容性测试),也称“Configuration testing(配置测试)”,测试软件是否和系统的其它与之交互的元素之间兼容,如:浏览器、操作系统、硬件等。验证测试对象在不同的软件和硬件配置中的运行情况。
Functional testing (功能测试),也称为behavioral testing(行为测试),根据产品特征、操作描述和用户方案,测试一个产品的特性和可操作行为以确定它们满足设计需求。本地化软件的功能测试,用于验证应用程序或网站对目标用户能正确工作。使用适当的平台、浏览器和测试脚本,以保证目标用户的体验将足够好,就像应用程序是专门为该市场开发的一样。
Performance testing(性能测试),评价一个产品或组件与性能需求是否符合的测试。包括负载测试、强度测试、数据库容量测试、基准测试等类型
5.Beta测试与Alpha测试有什么区别?
参考答案:Beta testing(β测试),测试是软件的多个用户在一个或多个用户的实际使用环境下进行的测试。开发者通常不在测试现场
Alpha testing (α测试),是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的受控测试
6.你认为做好测试计划工作的关键是什么?
软件测试计划就是在软件测试工作正式实施之前明确测试的对象,并且通过对资源、时间、风险、测试范围和预算等方面的综合分析和规划,保证有效的实施软件测试;
做好测试计划工作的关键 :目的,管理,规范
1.明确测试的目标,增强测试计划的实用性
编写软件测试计划得重要目的就是使测试过程能够发现更多的软件缺陷,因此软件测试计划的价值取决于它对帮助管理测试项目,并且找出软件潜在的缺陷。因此,软件测试计划中的测试范围必须高度覆盖功能需求,测试方法必须切实可行,测试工具并且具有较高的实用性,便于使用,生成的测试结果直观、准确
2.坚持“5W”规则,明确内容与过程
“ 5W”规则指的是“What(做什么)”、“Why(为什么做)”、“When(何时做)”、“Where(在哪里)”、“How(如何做)”。利用“5W”规则创建软件测试计划,可以帮助测试团队理解测试的目的(Why), 明确测试的范围和内容(What),确定测试的开始和结束日期(When),指出测试的方法和工具(How),给出测试文档和软件的存放位置(Where)。
3.采用评审和更新机制,保证测试计划满足实际需求
测试计划写作完成后,如果没有经过评审,直接发送给测试团队,测试计划内容的可能不准确或遗漏测试内容,或者软件需求变更引起测试范围的增减,而测试计划的内容没有及时更新,误导测试执行人员。
4. 分别创建测试计划与测试详细规格、测试用例
应把详细的测试技术指标包含到独立创建的测试详细规格文档,把用于指导测试小组执行测试过程的测试用例放到独立创建的测试用例文档或测试用例管理数据库中。测试计划和测试详细规格、测试用例之间是战略和战术的关系,测试计划主要从宏观上规划测试活动的范围、方法和资源配置,而测试详细规格、测试用例是完成测试任务的具体战术。
- 软件的安全性应从哪几个方面去测试?
(1)用户认证机制:如数据证书、智能卡、双重认证、安全电子交易协议
(2)加密机制
(3)安全防护策略:如安全日志、入侵检测、隔离防护、漏洞扫描
(4)数据备份与恢复手段:存储设备、存储优化、存储保护、存储管理
(5)防病毒系统 - 软件测试的文档测试应当贯穿于软件生命周期的全过程,其中用户文档是文档测试的重点。那么软件系统的用户文档包括哪些?
用户手册
安装和设置指导
联机帮助
指南、向导
样例、示例和模板
授权/注册登记表
最终用户许可协议 - 完全测试程是可能的吗?
软件测试初学者可能认为拿到软件后需要进行完全测试,找到全部的软件缺陷,使软件“零缺陷”发布。实际上完全测试是不可能的。主要有以下一个原因:
-完全测试比较耗时,时间上不允许;
-完全测试通常意味着较多资源投入,这在现实中往往是行不通的;
-输入量太大,不能一一进行测试;
-输出结果太多,只能分类进行验证;
-软件实现途径太多;
-软件产品说明书没有客观标准,从不同的角度看,软件缺陷的标准不同;
因此测试的程度要根据实际情况确定。 - 软件测试的风险主要体现在哪里?
我们没有对软件进行完全测试,实际就是选择了风险,因为缺陷极有可能存在没有进行测试的部分。举个例子,程序员为了方便,在调试程序时会弹出一些提示信息框,而这些提示只在某种条件下会弹出,碰巧程序发布前这些代码中的一些没有被注释掉。在测试时测试工程师又没有对其进行测试。如果客户碰到它,这将是代价昂贵的缺陷,因为交付后才被客户发现。
因此,我们要尽可能的选择最合适的测试量,把风险降低到最小 写出bug报告当中一些必备的内容。
硬件平台和操作系统
测试应用的硬件平台(Platform),通常选择“PC”。
测试应用的操作系统平台(OS)。
a)版本
提交缺陷报告时通过该字段标识此缺陷存在于被测试软件的哪个版本。
b)Bug报告优先级
c)Bug状态
d)Bug的编号
e)发现人
f)提交人
g)指定处理人
h)概述
i)从属关系
j)详细描述
k)严重程度
l)所属模块
m)附件
n)提交日期画出软件测试的V模型图?
测试计划工作的目的是什么?测试计划工作的内容都包括什么?其中哪些是最重要的?
软件测试计划是指导测试过程的纲领性文件,包含了产品概述、测试策略、测试方法、测试区域、测试配置、测试周期、测试资源、测试交流、风险分析等内容。借助软件测试计划,参与测试的项目成员,尤其是测试管理人员,可以明确测试任务和测试方法,保持测试实施过程的顺畅沟通,跟踪和控制测试进度,应对测试过程中的各种变更。
测试计划和测试详细规格、测试用例之间是战略和战术的关系,测试计划主要从宏观上规划测试活动的范围、方法和资源配置,而测试详细规格、测试用例是完成测试任务的具体战术。所以其中最重要的是测试测试策略和测试方法(最好是能先评审)- 在Linux系统中,一个文件的访问权限是755,其含义是什么?
755表示该文件所有者对该文件具有读、写、执行权限,该文件所有者所在组用户及其他用户对该文件具有读和执行权限。 Windows操作系统中PATH环境变量的作用是什么?
PATH是Windows操作系统环境变量,PATH作用是用户在命令行窗口执行一个命令,则在PATH变量设置的目录下依次寻找该命令或对应的执行文件,若找到,则执行,若没有找到,则命令行窗口返回无效命令。软件测试的目的是什么?软件测试有哪几大特性?
软件测试的目的是为了尽可能多尽可能快的找出软件的缺陷,从而提高软件的质量。
软件测试的特性有:功能性,可靠性,易用性,效率性(性能),可维护性,可移植行软件测试有哪几种类型?它们的关注点分别是什么?
参考答案:黑盒测试,白盒测试,灰盒测试。
黑盒测试主要关注软件的功能性,从用户的角度去考虑软件。
白盒测试主要关注软件的内部逻辑,偏向于代码级别测试。
灰盒测试介于黑盒测试及白盒测试之间。在自动化测试中,参数化的目的是什么?检查点呢?
参数化的目的是为了使数据与案例相分离,从而提高脚本的可重复使用率。检查点是为了核实自动化测试时实际执行的结果跟预期结果是否一致,从而确定自动化测试案例能否通过。LR中场景分为哪几种,分别是什么?性能测试指标包含哪些(尽可能多的列举)?
LR中的场景分为两种,手动场景和面向目标场景。
性能测试的指标有:平均事务响应时间、每秒事务通过数、每秒点击率、吞吐量、系统资源利用率等。数据库表STUDENT有字段st_name(姓名),st_class(班级),st_no(学号),st_age(年龄)。
表SCORE有字段sc_name(课程名),sc_no(课程代码),sc_sno(学号),sc_sco(成绩),用
SQL语句实现:(18分)
a)将sc_no为345记录的sc_sco加10;
Update SCORE
Set sc_sco= sc_sco+10
Where sc_no=345
b)查找课程标号为123并且成绩在80分以上的学生学号和姓名:
Select st_no,st_name from STUDENT st, SCORE sc
Where st.st_no=sc. sc_sno
and sc_no=123 and sc_sco >80
c)列出所有学生的总分以及学生学号和姓名,班级:
Select s.st_no, max(s.st_name),max(s.st_class),sum(c.sc_sco)
from student s,score c
where s.st_no=c.sc_no
group by c. sc_sno
解释什么是线程、什么是进程。
线程是按设计人员预先的设定自动运行的。举个例子说,就像一个银行分很多部门,每个部门都需要用电,这里可以把一个部门看做一个用电的线程,在同一个时间内,很多部门都要用电,就是多线程工作
进程(Process)是独立调配计算机资源的一个单位,是一个正在运行中的程序请分别写出ISO7层架构,并分别说明TCP、UDP协议分别在处于哪一层,以及TCP、UPD协议有什么区别。
7 应用层
6 表示层
5 会话层
4 传输层
3 网络层
2 数据链路层
1 物理层
第四层;UDP是面向无连接、不可靠数据传输协议; TCP是面向连接、可靠数据传输协议写出.tar, .gz, .Z的打包命令和解包命令
打包命令:tar -cf all.tar * tar -czf all.tar.gz * tar -cZf all.tar.Z *
解包命令: tar -xf all.tar tar -xzf all.tar.gz tar -xZf all.tar.Z创建一个student表,字段包括学号,姓名,班级,学号为主键
create table student
(
num number(10) primary key,
name varchar2(10),
class number(2)
)
给student表的name字段创建唯一索引
create unique index stu_name on student(name);
给student表增加一个默认值为0的float类型的非空字段“result”
alter table student add column(result float default 0);
将student表中的class字段名修改为grade
Alter table student modify class to grade;
在1中创建的student表中,根据姓名查询出第4条到第8条的记录
Select * from (select rownum r,num,name,class from student where rownum<=8)
Where r>=4;
- 典型C/S架构应用程序有和特点,测试上应注意什么?
C/S 架构是一种典型的两层架构,其全程是Client/Server,即客户端服务器端架构。
测试上应注意其承受大用户量并发访问时的能力,比较好的方法是用测试工具来模拟多个客户端同时访问服务器,并使用性能监测工具获得关于服务器、数据库等用户关心的性能指标
什么叫QA?什么叫QC?什么叫TEST?他们分别关注产品的哪些阶段?
QA:质量保证。流程的监督者,职责是创建和执行 改进软件开发过程,并防止软件缺陷发生 的标准和方法
QC:质量控制。也是测试人员,职责是尽可能早地发现软件的缺陷,并确保缺陷得到修复
TEST:执行测试。执行软件以验证其满足指定的需求并检测错误的过程软件的缺陷等级划分成那些类型?划分原则是什么(3 分)
致命的:造成系统或者应用程序崩溃、死机、系统死锁、数据丢失、系统无法继续运行,严重内存泄漏等。
严重的:功能或者特性没有实现,某主要功能部分丧失,某次要功能部分丧失,性能指标或者可靠性指标没有达到。
一般的:不太严重的错误,不影响功能正常试用系统要求或基本功能的实现,但没有很好的实现。如次要功能没有实现等。
微小的:对功能几乎没有影响,产品及属性仍可使用。
建议级别一个好的测试工程师应具备那些素质?
①、技术能力;②、沟通能力;③、自信心;④、外交能力;⑤、洞察力;⑥、幽默感;⑦、很强的记忆力;⑧、耐心;⑨、怀疑精神;⑩、自我督促回归测试应如何进行?
回归测试准备:接到项目组提供修改后的新版本和修改说明(问题修正单),根据具体情况修改测试用例或者增加新的测试用例,准备测试数据,这些工作要在回归测试执行之前完成,以便有效地进行回归测试。
执行回归测试:根据测试用例执行回归测试,在这里所有测试用例都要执行完,包括上一次测试未通过的用例,还要求执行新增的用例及上一次执行通过的用例,检查这次问题修改是否影响到其它测试用例的正常执行。
回归测试关闭:所有用例执行完毕后,根据回归测试的结果判断此时是否达到测试关闭准则的要求,如果达到测试可以关闭,如果不能达到则返回项目组,以进行下一次修正与回归。如遇特殊情况需要在未满足测试关闭准则的情况下关闭测试,需经高级经理评审批准。
30.请写出下列代码的输出内容
include <stdio.h >
main()
{
int a,b,c,d;
a=10;
b=a++;
c=++a;
d=10*a++;
printf("b,c,d:%d,%d,%d",b,c,d);
return 0;
}
答:10,12,120
- 软件质量最权威的三种体系是什么?写出能力成熟度模型综合英文名称?它的等级?
软件质量最权威的三种体系:CMM/CMMI和ISO9000质量标准体系
能力成熟度模型综合:Capability Maturity Model Integration
CMMI 5个成熟度等级分别为:
第1级:初始级
第2级:受管理级
第3级:已定义级
第4级:定量管理级
第5级:持续优化级