一、判断题
1. 软件测试就是为了验证软件功能实现的是否正确,是否完成既定目标的活动,所以软件测试在软件工程的后期才开始具体的工作。(❌)
分析:软件测试人员应在需求阶段就加入到开发过程中。因为软件的质量问题会随着软件开发周期的不断展开而不断放大的,而更正质量问题的成本也是不断放大的,也就是说在需求阶段出现的小问题,到开发完成后缺陷可能成几何倍数放大,而修改所需要的成本也会不断的放大,如果测试工程师能够尽早的加入其中的话可以尽早的找出问题,及时发现,避免问题最后放大到不可收拾。
2. 发现错误多的模块,残留在模块中的错误也多。(✔️)
分析:开发人员能力参差不齐,当发现某模块bug数越多,修改的bug越多,则引入新的bug就会越多,那么这些新的bug发现的难度要比修改前发现bug要大的多,其隐藏未发现的bug数量就越多,那么相应的模块质量也就越差。代码复用也可能造成该模块的bug比较多。
3. 测试人员在测试过程中发现一处问题,如果影响不大,而自己又可以修改,应立即将此问题正确修改,以加快、提高开发的进程。(❌)
分析:正确流程应提交错误缺陷,此时开发组人员会有记录,并修改此问题。如果测试人员自己修改,会导致开发人员无记录,容易出现冗余系统版本,并不清楚哪个为最终版本。
4. 单元测试通常应该先进行“人工走查”,再以白盒法为主,辅以黑盒法进行动态测试。(✔️)
5. 功能测试是系统测试的主要内容,检查系统的功能、性能是否与需求规格说明相同。(✔️)
6. 软件质量管理即QM是由QA和QC构成,软件测试属于QC的核心工作内容。(✔️)
补充:<br > QA(Quality Assurance)品质保证; <br > QC(Quality Conterller)品质控制员
7. 软件测试只能发现错误,但不能保证测试后的软件没有错误。(✔️)
8. 软件就是程序。(❌)
概念:软件是计算机程序,程序所用的数据以及相关文档资料的结合。软件又分为系统软件和应用软件两大类。
9. 测试只要做到语句覆盖和分支覆盖,就可以发现程序中的所有错误。(❌)
分析:白盒测试用例设计6种覆盖方法:
a. 语句覆盖 b. 判定覆盖 c. 条件覆盖 d.判定/条件覆盖 e. 组合覆盖 f. 路径覆盖
软件测试的目的是发现软件中的错误,但不能保证软件没有错误。
10. I18N测试是指对产品做出具有国际性的规划,而L10N测试则是指软件做出符合本地的工作。(✔️)
补充: 本地化,国际化,全球化关系图- I18N是L10N的基础和前提,为L10N做准备 <br >
- L10N是I18N向特定本地语言环境的转换<br >
- I18N是软件产品源语言开发的一部分,属于Engineering <br >
- L10N可以独立于Engineering,可由第三方完成
11. 测试人员要坚持原则,缺陷未修复完坚决不予通过(❌)
分析:该题没有正确答案,缺陷是否修复需要听取测试人员的意见,但测试人员的意见非决定性。所以还是要看一个企业赋予测试人员有多大的权力。
二、选择题
1. 进行软件质量管理的重要性有:(ABCD)
A. 维护降低成本
B. 法律上的要求
C. 市场竞争的需要
D. 质量标准化的趋势
E. 软件工程的需要
F. CMM过程的一部分
G. 方便与客户进一步沟通为后期的实施打好基础
2. 以测试的形态分测试可以分为:(ABC)
A. 建构性测试
B. 系统测试
C. 专项测试
D. 单元测试
E. 组件测试
F. 集成测试
3. 选出属于黑盒测试方法的选项(ABC)
A. 测试用例覆盖
B. 输入覆盖
C. 输出覆盖
D. 分支覆盖
E. 语句覆盖
F. 条件覆盖
4. 编写测试计划的目的是:(ABC)
A. 使得测试工作顺利进行
B. 使项目参与人员沟通更舒畅
C. 使测试工作更加系统化
D. 软件工程以及软件过程的需要
E. 软件过程规范化的要求
F. 控制软件质量
5. 依存关系有4种分别是(ABCD)
A. 开始-结束
B. 开始-开始
C. 结束-开始
D. 结束-结束
E. 开始-实施-结束
F. 结束-审核-开始
6. 软件质量管理(QM)应有质量保证(QA)和质量控制(QC)组成,下面的选项属于QC的是:(ABC)
A. 测试
B. 跟踪
C. 监督
D. 制定计划
E. 需求审查
F. 程序代码审查
7. 实施缺陷跟踪的原因是:(ABCD)
A. 软件质量无法控制
B. 问题无法量化
C. 重复问题接连产生
D. 解决问题的知识无法保留
E. 确保缺陷得到解决
F. 使问题形成完成的闭环处理
8. 使用软件测试工具的目的是:(ABC)
A. 帮助测试寻找问题
B. 协助问题的诊断
C. 节省测试时间
D. 提高Bug的发现率
E . 更好的控制缺陷提高软件质量
F. 更好的协助开发人员
9. 典型的瀑布模型的四个阶段是:(ABCD)
A. 分析
B. 设计
C. 编码
D. 测试
E. 需求调研
F. 实施
补充:软件的生命周期划分为:制定计划、需求分析、软件设计、程序编写、软件测试和运行维护等6个基本活动。
五种典型开发周期模型:瀑布、V、原型化、螺旋、迭代
我面试遇到让画出V模型
10. PSP是指个人软件过程 ,是一种可用于( A )、( B )和( C )个人软件工作方式的自我改善过程。
A.控制
B.管理
C.改进
D.高效
E.充分
F. 适宜
11. 确保测试与(A)无关,不要依赖使用过期的数据进行测试。
A. 时间
B. 地点
C. 软硬件资源
D. 测试人员
12. 测试驱动开发的简称是(C)
A. ADD
B. TTD
C. TDD
D. TDT
13. Web测试的一个重要特征是(C)
A. 图片
B. 文字
C. 链接
D. 视频
三、问答题
1. 测试人员在软件开发过程中的任务是什么?
a. 参与需求分析;
b. 编写测试用例;
c. 寻找Bug;
d. 避免软件开发过程中的缺陷;
e. 衡量软件的品质;
f. 关注用户的需求。
总的目标:确保软件质量。
2. 在您以往的工作中,一条软件缺陷(或者叫Bug)记录都包含了哪些内容?如何提交高质量的软件缺陷(Bug)记录?
答:一条Bug记录最基本应包含:编号、Bug所属模块、Bug描述、Bug级别、发现日期、发现人、修改日期、修改人、修改方法、回归结果等等;要有效的发现Bug需参考需求以及详细设计等前期文档设计出高效的测试用例,然后严格执行测试用例,对发现的问题要充分确认肯定,然后再向外发布如此才能提高提交Bug的质量。
3. 软件缺陷的等级应如何划分?
1)致命错误:造成系统崩溃、死机、死循环,导致数据库数据丢失,与数据库连接错误,主要功能丧失,基本模块缺失等问题。
2)严重错误:系统主要功能部分丧失,数据库保存调用错误,用户数据丢失,以及功能菜单不能使用但是不影响其他功能的测试。功能设计与需求严重不符,模块无法启动或调用,程序重启,自动退出,关联程序间调用冲突,安全问题、稳定性等。
3)一般错误:功能没有完全实现但不影响使用,功能菜单存在缺陷但不影响系统稳定性。
4)建议问题:界面,性能缺陷,建议类问题,不影响操作功能的执行,可以优化性能的方案等。如:错别字、界面格式不规范,页面显示重叠、不该显示的要隐藏,描述不清楚,提示语丢失,文字排列不整齐,光标位置不正确,用户体验感受不好,可以优化性能的方案等。
4. 黑盒测试和白盒测试是软件测试的两种基本方法,请分别说明各自的优点和缺点!
答:黑盒测试的优点有:
1)比较简单,不需要了解程序内部的代码及实现;
2)与软件的内部实现无关;
3)从用户角度出发,能很容易的知道用户会用到哪些功能,会遇到哪些问题;
4)基于软件开发文档,所以也能知道软件实现了文档中的哪些功能;
5)在做软件自动化测试时较为方便。
黑盒测试的缺点有:
1)不可能覆盖所有的代码,覆盖率较低,大概只能达到总代码量的30%;
2)自动化测试的复用性较低。
白盒测试的优点有:
帮助软件测试人员增大代码的覆盖率,提高代码的质量,发现代码中隐藏的问题。
白盒测试的缺点有:
1)程序运行会有很多不同的路径,不可能测试所有的运行路径;
2)测试基于代码,只能测试开发人员做的对不对,而不能知道设计的正确与否,可能会漏掉一些功能需求;
3)系统庞大时,测试开销会非常大。
5. 如果完美执行黑盒测试,还需要进行白盒测试吗?
软件的黑盒此时意味着测试要在软件的接口处进行。这种方法是把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。因此黑盒测试 又叫功能测试或数据驱动测试。黑盒测试主要是为了发现以下几类错误:
a. 是否有不正确或遗漏的功能?
b. 在接口上,输入是否能正确的接收?能否输出正确的结果?
c. 是否有数据结构错误或外部信息(例如数据文件)访问错误?
d. 性能上是否能够满足要求?
e.是否有初始化或终止性错误?
软件的白盒测试是对软件的过程性细节做细致的检查。这种方法是把测试对象看做一个打开的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。通过在不同点检查程序状态,确定实际状态是否与预期状态一直,因此白盒测试又称为结构测试或逻辑驱动测试。白盒测试主要是相对程序模块进行如下检查:
a. 对程序模块的所有独立的执行路径至少测试一遍。
b. 对所有的逻辑判定,取‘真’与取‘假’的两种情况都能至少测一遍。
c. 在循环的边界和运行的界限内执行循环体。
d. 测试内部数据结构的有效性,等等。
6. 根据自己的理解回答什么是软件测试,软件测试分为哪几个阶段。(初级)(5分)
答:软件测试是一个为了寻找软件中的错误而运行软件的过程,一个成功的测试是指找到了迄今为止尚未发现的错误的测试。
软件测试一般分为单元测试、集成测试和系统测试。
7. 根据自己的理解什么是测试用例和测试规程,设计一个测试用例应当从哪几方面考虑?
答:狭义的讲,一个测试用例就是测试人员用以测试被测软件的某个特性或特性组合的一组数据。这组数据可能是从用户处得来的实际的一组数据,也可能是测试人员专门设计出来的测试软件某些功能的一组数据。
测试规程就是详细的对测试用例设计方法、测试方法、测试工具、测试环境和测试数据进行描述的文档,还可以包括能把某个或某一组测试用例应用到被测软件上完成某项测试的一系列的操作步骤。
设计测试用例应当从以下几方面考虑:边界值,等价类划分,有效/无效值等。
8. 什么是软件质量保证?软件质量保证人员与开发人员的关系如何?
答:软件质量保证就是通过确保软件过程的质量,来保证软件产品的质量。
软件质量保证人员和开发人员之间具有管理上的严格的独立性,两个小组的管理员都不能越权管理另一组,但都可以向更高层的管理者汇报软件开发中的问题
9. 软件开发过程中测试人员常遇到的问题:
1.需求变化太多太乱,相关文档没有随之更新,文档与项目实际功能不相符;造成很多时候最新的需求都只是藏在个别人的脑中,而测试人员总是最后一个知道需求变化的人。
改进建议:能够建立需求变更体系,到什么阶段必须停止需求变更(必须在项目前期就让需求提出人明确这一点);每次需求变更必须让需求提出人员确认,需求变化后必须有专人更新相关文档(这些文档都是测试人员编写计划及用例的依据);并能知会相关人员,这样才能做到程序人员修改响应的程序,测试人员修改响应的用例,且能对需求变更后的程序进行正确的测试
10. 什么是冒烟测试?
使用较少的人但经验较丰富,在较短的时间内测试整个系统的主要功能、主要业务流程是否实现,是否稳定。
11. 测试结束的标准?
a.模块测试用例执行完毕,覆盖了全部软件需求;
b.缺陷收敛趋势符合质量要求;
c. 缺陷修复率达到产品设计人员的需求;
d. 达到预先的缺陷度量原则
四、逻辑题
1. 一个蛋糕平均分成8等份,并分别给8个人,请问还剩下一块蛋糕,是怎么分的?
答:平均分成8份,前边7个人拿走7块,最后一个人把盒子里的蛋糕一起拿走。
2. 有20个人要到河的对岸去,河边只有1条小船,船上每一次只能只能坐5人,小船至少要载( )次,才能过河。
答:每次只能有5-1=4(个)人过河,那么,小船至少要载20÷4=5(次)才能全部过河。
3. 根据前四个图形找规律,找出第五个图。图片如下
看图找规律分析:
图中有两种图形,一种是三角形,有两个;一种是五角形,有两个;<br > 三角形的要求是,两个三角形都贴边,但不能在同一行或同一列上;<br > 五角形的要求是,一是两个五角形都不贴边,必须在同一行或同一列上;二是一个五角形在角上,另一个五角形不能在同一行或同一列上,也不能在斜线上;
图A
一个五角形在角上,另一个五角在同一行上,所以不符合要求;
图B
一个三角形贴边,另一个三角形不贴边,所以也不符合要求;
图C
一个三角形贴边,另一个三角形不贴边;
两个五角形都不贴边,且不在同一行或同一列上,两者都不符合要求;
图D
两个三角形都贴边,且不在同一行或同一列上;
一个五角形在角上,另一个五角形也不在同一行或同一列上,也不在斜线上;所以答案应是D.
网友评论