目录
一、软件测试的原理与方法
1.1 什么是软件测试
-
关于“软件测试”的正反观点:
程序测试是为了发现错误而执行程序的过程。
测试带有“破坏性”。 -
软件测试的定义:
软件测试是验证和有效性确认构成的整体。
1.2 测试和开发的关系
需求分析->设计->编程->测试->维护
1.3 测试驱动开发思想
TDD:
① 明确当前要完成的功能,可以记录成一个TODO列表
② 快速完成针对此功能的测试用例编写
③ 测试代码编译不通过
④ 编写对应功能的代码
⑤ 测试通过
⑥ 对代码进行重构,并保证测试通过
⑦ 循环完成所有的功能开发
二、软件测试的基本概念
2.1 黑盒测试和白盒测试
①白盒测试:测试程序内部的变量状态、逻辑结构、运行路径等,检验程序中的每条通路是否都能按预定要求正确工作,检查程序内部动作或运行是否符合设计规格要求,所有内部成分是否按规定正常进行。
包括:
- 逻辑测试法
- 语句覆盖
- 判定覆盖
- 条件覆盖
- 判定/条件覆盖
- 条件组合覆盖
- 基本路径覆盖
②黑盒测试:检查系统功能是否按照需求规格说明书的规定正常使用、是否能适当地接收输入数据而输出正确的结果等,检查相应的文档是否采用了正确的模板、是否满足规范要求。
包括:
- 错误推断、随机法
- 基于输入域的测试方法:
等价类
边界类 - 基于输入组合及其优化的测试方法:
判定表
pair-wise
因果图
正交实验
三、软件测试方法
3.1 基于逻辑覆盖的方法
① 语句覆盖
覆盖标准:使得程序中每个语句都能被执行一次
② 判定覆盖
覆盖标准:使得程序中每个判定至少为TURE或FALSE各一次。
③ 条件覆盖
覆盖标准:使得判断中的每个条件获得各种可能的结果。
④ 判定/条件覆盖
覆盖标准:能同时满足判定覆盖和条件覆盖。即,使得程序中每个判定至少为TURE或FALSE各一次,同时使得判定中的每个条件获得各种可能。
⑤ 基本路径测试
四、软件测试流程和规范
4.1 传统的软件测试过程
① W模型:
表现了测试与开发并行的关系。前期,测试过程依赖于开发;后期,开发过程更多地依赖于测试过程。
W模型有利于及时了解项目难度和测试风险。
② TMap模型:
是一种业务驱动的、基于风险策略的结构化的测试方法体系。
TMap可以更早发现软件缺陷,以最小的成本有效地、彻底地完成测试任务。
4.2 敏捷测试过程
敏捷测试的核心:测试驱动开发的思想/客户需求
敏捷测试的特征:敏捷测试具有鲜明的敏捷开发的特征,如:测试驱动开发、验收测试驱动开发。
五、单元测试与集成测试
5.1 静态测试
5.2 驱动程序和桩程序
① 驱动程序/驱动模块: 模拟被测模块的上级模块
作用: 接收测试数据,把相关的数据传送给被测模块,启动被测模块。
② 桩程序/桩模块: 模拟被测模块工作过程中所调用的模块
作用: 由被测模块调用,一般只进行很少的数据处理,如打印入口和返回,便于检验被测模块与其下级模块的接口。
5.3 单元测试工具
- JUnit
- TestNG(类似JUnit,但功能更*)
- PMD(增强代码质量和修改代码功能,可单独下载)
- ChecekStyle、FindBug(都是静态测试工具)
- SourceMonitor(为各种代码文件测试代码的数量和性能)
- Mock对象工具:MockObject、EasyMock、ObjectUnit、JMock等
- jWebUnit(基于java的测试网络程序框架,以HttpUnit及JUnit单元测试框架为基础)
六、系统测试
6.1 系统测试内容
- 系统功能测试
- 回归测试
- 性能测试
- 安全性测试
- 容错性测试
- 兼容性测试
- 可靠性测试
6.2 回归测试
回归缺陷:
- 严重缺陷进行修正,构造软件包进行测试,可能会修复已发现的程序缺陷,但引入新的软件缺陷
目的:
- 程序所做的修改保证原有功能正常的一种测试策略和方法,即使所做修改达到了预定目的,不影响软件原有功能的正确性。
方法:
- 再测试全部用例
- 基于风险选择测试
- 基于操作剖面选择测试
- 再测试修改部分
Que:给定一个电子商务网站,可以用到哪些系统测试类型?
Ans:可以用到的测试类型有:系统功能测试、回归测试、性能测试、安全性测试、容错性测试、兼容性测试。
七、软件本地化测试
7.1 软件本地化与国际化
八、测试需求分析与测试计划
(综合题):什么是测试策略?
九、测试执行、缺陷报告与跟踪
《软件测试技术》考题归纳
第 1 章 软件测试基础
一、判断题
1、 验证意味着确保软件正确无误地实现软件的需求,开发过程是沿着正确的方向进行。( T )
2、调试的目的是发现 bug。 ( F )
3、软件缺陷主要来自产品说明书的编写和产品方案设计。 ( T )
4、在实际的软件测试工作中,不论采用什么方法,由于软件测试情况数量极其巨大,都不可能进行完全彻底的测试。 ( T )
5、测试人员可以不懂编程。 ( F )
二、选择题
1、软件是程序和( B )的集合。
A、代码 B、文档 C、测试用例 D、测试
2、严重的软件缺陷的产生主要源自( A )。
A、需求 B、设计 C、编码 D、测试
3、Fixed 的意思是指:( C )
A、该 BUG 没有被修复,并且得到了测试人员的确认
B、该 BUG 被拒绝了,并且得到了测试人员的确认
C、该 BUG 被修复了,并且得到了测试人员的确认
D、该 BUG 被关闭了,并且得到了测试人员的确认
4、降低缺陷费用最有效的方法是( B )。
A、测试尽可能全面
B、尽可能早的开始测试
C、测试尽可能深入
D、让用户进行测试
5、以下不属于应用系统中的缺陷类型的是:( B )。
A、不恰当的需求解释
B、用户指定的错误需求
C、设计人员的习惯不好
D、不正确的程序规格说明
三、简答题
1、请简述一条软件缺陷(或者叫 Bug)记录都包含了哪些内容?
2、请简述软件测试的定义?
第 2 章 软件测试类型
一、判断题
1、软件测试的目的是尽可能多的找出软件的缺陷。 ( T )
2、好的测试方案是极可能发现迄今为止尚未发现的错误。 ( T )
3、测试人员要坚持原则,缺陷未修复完坚决不予通过。 ( F )
4、负载测试是验证要检验的系统的能力最高能达到什么程度。( F )
5、V 模型不能适应较大的需求变化。 ( T )
二、选择题
1、测试环境中不包括的内容是( A )
A、测试所需文档资料 B、测试所需硬件环境
C、测试所需软件环境 D、测试所需网络环境
2、某软件公司在招聘软件测试工程师时,应聘者甲向公司做如下保证:
(1) 经过自己测试的软件今后不会再出现问题
(2) 在工作中对所有程序员一视同仁,不会因为某个程序编写的程序发现的问题多, 就重点审查该程序,以免不利于团结
(3) 承诺不需要其他人员,自己就可以独立进行测试工作
(4) 发扬咬定青山不放松的精神,不把所有问题都找出来,绝不罢休 根据自己所学的软件测试知识,应聘者甲的保证( D )
A、(1)(4)是正确的
B、(2)是正确的
C、都是正确的
D、都是错误的
3、用不同的方法可将软件测试分为白盒法和黑盒法,或者( C)和静态测试。
A、白盒法 B、黑盒法 C、动态测试 D、灰盒法
4、软件测试中白盒测试法是通过分析程序的( B )来设计测试用例的。
A、应用范围 B、内部逻辑 C、功能 D、输入数据
5、下列关于白盒测试与黑盒测试的说法中错误的是( C )。
A、用白盒测试来验证单元的基本功能时,经常要用黑盒测试的思考方法来设计测试用例
B、仅仅通过白盒测试,或仅仅通过黑盒测试都不能全面系统地测试一个软件
C、白盒测试适用于软件测试的各个阶段
D、在黑盒测试中使用白盒测试的手段,常被称为“灰盒测试”
三、简答题
1、请简述V 模型的优缺点。
2、什么是回归测试?
第 3 章 软件测试过程
一、判断题
1、验收测试是由最终用户来实施的。 ( F )
2、单元测试能发现约 80% 的软件缺陷。 ( T )
3、集成测试计划在需求分析阶段末提交。 ( F )
4、Beta 测试是验收测试的一种。 ( T )
5、自底向上集成需要测试员编写驱动程序。 ( T )
二、选择题
1、集成测试分为渐增组装测试和( A )
A、 非渐增组装测试
B、确认测试
C、单元测试
D、 测试计划
2、集成测试中使用的辅助模块分为驱动模块和( C )
A、传入模块 B、主模块 C、桩模块 D、传出模块
3、驱动模块模拟的是( D )
A、子模块 B、第一模块 C、底层模块 D、主程序
4、单元测试的测试用例主要根据( D )的结果来设计。
A、需求分析 B、源程序 C、概要设计 D、详细设计
5、单元测试的测试目的是( A )
A、保证每个模块或组件能正常工作 B、保证每个程序能正常工作
C、确保缺陷得到解决 D、使程序正常运行
三、简答题
1、单元测试的内容包括哪些?
2、集成测试的集成方式有哪几种?
第 4 章 软件质量
一、判断题
1、软件质量控制是一系列验证活动,在一系列的控制活动中采取有效措施,在软件开发过程的各个监测点上,评估开发出来的阶段性产品是否符合技术规范。( T )
2、ISO 9000 是指质量管理体系标准,它是指一个标准的统称。( T )
3、质量控制的目的不能从项目的过程出发。( T )
4、QA 的主要工作职责是检验产品的质量,保证产品符合客户的需求。( F)
5、软件项目质量控制的三大要素是产品、过程和资源,需要不断进行调整和检查。( T )
二、选择题
1、以下内容哪些需要进行错误分类统计:( ABCD )
A.规约不完整或规格说明错误 B.未理解用户意图的错误
C.故意偏离规格说明的错误 D.规约描述有歧义
2、McCall 质量模型不包括以下哪一项( A )。
A.产品启动 B.产品转移
C.产品运行 D.产品修正
3、软件质量要素包括( ABCD )。
A.功能性 B.可靠性
C.易用性 D.性能
4、质量控制中常用的工具有( BCD )。
A.因果分析图 B.控制图
C.质量检查表 D.帕累托图
5、SQA 的项目中正式的技术评审的评审会议一般由几人参与:( C )
A.10-11 人 B.5-10 人
C.3-5 人 D.5-8 人
三、简答题
1、软件质量保证(SQA)包括哪些内容?
答:软件质量保证(SQA)是一种应用于整个软件过程的活动,
它包含:
- 一套完整的质量管理方法
- 有效的软件工程技术(方法和工具)
- 在整个软件过程中采用的正式的质量保证技术评审
- 一种多层次的测试策略
- 对软件文档及其修改的控制
- 保证软件遵从软件开发标准
- 一套完善的度量和报告机制
2、项目质量控制的目的是什么?
答:
(1) 从项目整体出发,通过对项目质量的控制,达到对项目整体质量的全面保证。
(2) 从项目过程出发,通过对项目过程的控制,达到及时发现异常,及时采取纠正措施, 通过过程控制最终确保质量符合预期要求。
(3) 通过质量控制管理,达到降低质量成本,减少质量风险,最终达到客户满意的目的。
第 5 章 白盒测试
一、选择题
1、选出属于白盒测试方法的选项( DEF )
A.测试用例覆盖 B.输入覆盖
C.输出覆盖 D.分支覆盖
E.语句覆盖 F.条件覆盖
2、测试设计员的职责有( B )
A.制定测试计划
B.设计测试用例
C.设计测试过程、脚本
D.评估测试活动
3、测试用例包括:( ABCD )
A.标识符 B.要测试的特性、方法
C. 测试用例信息 D.通过/失败规则
二、填空题
1、单元测试主要采用(白盒测试 )技术,辅之以(黑盒测试 )技术,使之对任何合理和不合理的输入都能鉴别和响应。
2、( 圈复杂度 )是一种为程序逻辑复杂性提供定量测度的软件度量,将该度量用于计算程序的基本的( 独立路径数目 ),为确保所有语句至少执行一次的测试数量的( 上 界 ) 。
3、基本的逻辑结构有三种:( 顺序 )、( 条件 )、( 循环 )。
三、设计题
1、对下列C 语言程序设计逻辑覆盖测试用例。
1 If (x>100&& y>500) then
2 score=score+1
3 If (x>=1000|| z>5000) then
4 score=score+5
第 6 章 黑盒测试
一、选择题
1、黑盒法是根据程序的( C )来设计测试用例的。
A. 应用范围 B. 内部逻辑
C. 功能 D. 输入数据
2、黑盒测试用例设计方法包括(B )等
A. 等价类划分法、因果图法、正交试验设计法、功能图法、路径覆盖法、语句覆盖法
B. 等价类划分法、边界值分析法、判定表驱动法、场景法、错误推测法、因果图法、正交试验设计法、功能图法
C. 因果图法、边界值分析法、判定表驱动法、场景法、Z 路径覆盖法
D. 场景法、错误推测法、因果图法、正交试验设计法、功能图法、域测试法
3、( A )是一种黑盒测试方法,它是把程序的输入域划分成若*分,然后从每个部分中选取少数代表性数据当作测试用例
A. 等价类划分法 B. 边界值分析法
C. 因果图法 D. 场景法
二、填空题
1、因果图方法最终生成的就是(判定表 )。它适合于检查( 程序输入条件 )的各种组合情况。
2、用例场景用来描述流经用例的路径,从用例开始到结束遍历这条路径上所有( 基本流 ) 和( 备选流 )。
3、( 等价类划分方法 )和( 边界值分析方法 )着重考虑输入条件,而不考虑输入条件的各种组合,也不考虑输入条件之间的相互制约的关系。
三、设计题
1、下面是某股票公司的佣金政策,根据决策表方法设计具体测试用例。
如果一次销售额少于 1000 元,那么基础佣金将是销售额的 7%;如果销售额等于或多于 1000元,但少于 10000 元,那么基础佣金将是销售额的 5%,外加 50 元;如果销售额等于或多于10000 元,那么基础佣金将是销售额的 4%,外加 150 元。另外销售单价和销售的份数对佣金也有影响。如果单价低于 15 元/份,则外加基础佣金的 5%,此外若不是整百的份数,再外加 4%的基础佣金;若单价在 15 元/份以上,但低于 25 元/份,则加 2%的基础佣金,若不是整百的份数,再外加 4%的基础佣金;若单价在 25 元/份以上,并且不是整百的份数,则外加 4%的基础佣金。
第 7 章 软件测试流程
一、判断题
1、测试计划是对将要执行的测试过程的整体规划安排进行说明,用于指导测试过程。( T )
2、测试需求是开发人员根据用户需求说明书和开发设计说明书编写的。( F)
3、软件中的缺陷( Defect 或 Bug)是软件开发过程中的“副产品”。( T )
4、缺陷的跟踪管理需要确保每个被发现的缺陷都能够被解决。( T )
5、测试用例在测试执行完成以后就可以废弃了。( F )
二、选择题
1、测试需求主要通过以下途径来收集:( ABCD )
A.软件需求规格 B.用例
C.界面设计 D.会议记录
2、测试用例包括哪些基本内容( CD )
A.测试要求 B.设计约束
C.测试步骤 D.预期结果
3、哪几项是测试开始标准( ABD )
A.测试计划编写完并评审通过 B.测试环境准备妥当
C.测试用例已编写完成 D.测试用例已编写完成,并已通过评审
4、不需要进行测试数据记录的是( C )
A.测试环境 B.测试时间
C.测试方案 D.测试人员
5、维护测试用例库中,下面哪一项说法不正确( B )
A. 产品特性没变,只是根据最近的修订特性来完善测试用例,这时,修改的测试用例对目前和以前的版本都有效。
B. 原有产品特性发生了变化,不是新功能,而是功能增强,这时,原有的测试用例对新的版本也是有效的,此时只需要增加增强部分的测试用例即可。
C. 原有功能取消时,只要在新版本上将与之对应的测试用例状态置为无效即可。
D.完全新增加的特性,需要增加对应的、新的测试用例。
三、简答题
1、概述软件测试流程?
答:测试计划、测试需求、测试用例、测试执行、缺陷提交、测试总结
2、如何进行软件测试需求的收集?
答:
- 与测试软件相关的各种文梢资枓。如软件需求规格、用例(Use Case)、界面设计、项目会议或客户沟通时的有关需求信息的会议记录、其他技术文档等;
- 与客户或系统分析员的沟通;
- 业务背景资料,如待测软件业务领域的知识等;
- 正式与非正式的培训;
- 其他相关内容。如果以旧系统为原型,以全新的架构方式来设计或完善软件,那么,旧系统的原有功能及特性就成为了最有效的测试需求收集途径。
第 8 章 自动化测试
一、判断题
1、 美观、声音、易用性测试可使用自动化测试。( F )
2、 QuickTest Professional 是一个功能测试自动化工具。( T )
3、 自动化测试的目的在于发现新缺陷。( F )
4、 自动化测试的定义:使用一种自动化测试工具来验证各种软件测试的需求,它包括测试活动的管理与实施。( T )
5、 100%的测试自动化是一个可实现的需求。( F )
二、选择题
1、下列关于自动化测试工具的说法中,错误的是( D )
A. 采用录制\回放是不够的,还需要进行脚本编程,加入必须的检查点
B. 自动化测试并不是总能降低测试成本的,因为维护测试脚本的成本可能是非常昂贵的
C. 相对于手动测试而言,自动化测试具有更好的一致性和可重复性
D.自动化测试能够改善混乱的测试过程
2、引入自动化测试的目的之一是为减少测试开销,但是自动测试不是万能的,不可能将所有测试活动进行自动化。下列情况中适合实施自动化测试的是 ( A )
A. 一个需要并发访问的联机系统。
B. 软件不稳定,在这期间用户界面和功能变化频繁。
C.测试需要主观判断或物理交互。
D.测试很少运行。例如,一年只运行一次。
3、下列关于工具使用风险的说法中,不恰当的是:( A )
A.工具能够或多或少提高测试效率
B.没有好的测试过程或成熟的测试方法,工具并不能像预期的那样降低成本C.与手工测试相比较,使用自动化工具也可能会增加测试成本
D.培训和指导有助于降低工具使用的风险
4、引入自动化测试工具时,属于次要考虑因素的是( D )
A.与测试对象进行交互的质量
B.使用的脚本语言类型
C. 工具支持的平台
D. 厂商的支持和服务质量
5、下列关于自动化测试工具的说法中,错误的是( B )
A.录制/回放可能是不足够的,还需要进行脚本编程
B.自动化测试关键的时候能代替手工测试
C. 自动化测试工具适用于回归测试
D. 既可用于功能测试,也可用于非功能测试
三、简答题
1、项目周期短的项目使用自动测试好还是使用手动测试好,请说明原因?
2、如何开展自动化测试?
第 9 章 功能测试
一、判断题
1、程序、需求规格说明书、设计规格说明书都是软件测试的对象。( T )
2、条码扫描支付是移动互联网金融中的新型支付方式,目前在日常小额消费场景中, 支付宝和微信提供的被扫支付不需要手机端确认支付金融,也不需要输入支付密码,这种功能设计是突出易用性,弱化安全性。( T )
3、Selenium 支持桌面应用软件的自动化测试。( F )
4、行业背景知识可以帮助我们有效的识别软件缺陷。( T )
5、Selenium 支持多种浏览器,如 IE、FireFox、Chrome 等。( T )
二、选择题
1、功能测试的执行时机应该在( A )
A.集成测试之后 B.性能测试之后
C.单元测试之后 D.验收测试之后
2、某软件系统的原始需求包括,“当某个查询请求是不适当或非法的,应提示用户”,该需求属于( C )
A.质量需求 B.设计约束
C.功能需求 D.过程约束
3、下列软件属性中,软件产品首要满足的应该是( A )
A.功能需求 B.设计约束
C.可扩展性和灵活性 D.容错纠错能力
4、安装的过程中,QTP 提供标准插件供用户选择安装,下列不属于QTP 提供的标准插件是( B )
A.ActiveX B.java C.Visual Basic D.Web
5、QTP 通过什么选项来查看对象属性?( C )
A.DataTable B.Action Screen C.Object Respository D.Information Pane
三、简答题
1、概述使用 QTP 进行自动化测试的流程?
2、Selenium 有哪些组件?
第 10 章 性能测试
一、判断题
1、为验证某音乐会订票系统是否能够承受大量用户同时访问,测试工程师一般采用负载压力测试工具。 ( T )
2、常见的性能测试工具有 Jmeter 和 Loadrunner。( T )
3、在各种资源超负荷情况下,观察系统的运行情况的测试是容量测试方法。( F )
4、吞吐量是指单位时间内流经被测系统的数据流量。( T )
5、性能测试工作开始于测试阶段。( F )
二、选择题
1、点击率(Hits per Second)是 LoadRunner 中重要的性能参数指标,请问它主要是用来观测什么的?( B )
A.每秒钟系统能够处理的交易或事务的数量
B.每秒钟发送的 Http 请求的数量
C.对不同资源的使用程度
D.完成相应事务所用的时间
2、下列哪些测试不属于性能测试?( D )
A.负载测试 B.压力测试
C.稳定性测试 D.等价类测试
3、TPS(Transaction Per Second)是 LoadRunner 中重要的性能参数指标,请问它主要是用来观测什么的?( A )
A. 每秒钟系统能够处理的交易或事务的数量
B. 每秒钟发送的 Http 请求的数量
C. 对不同资源的使用程度
D.完成相应事务所用的时间
4、下列关于软件性能测试的说法中,正确的是( B )
A. 性能测试的目的不是为了发现软件缺陷
B. 压力测试与负载测试的目的都是为了探测软件在满足预定性能需求的情况下所能负担的最大压力
C. 性能测试通常要对测试结果进行分析才能获得测试结论
D. 在性能下降曲线上,最大建议用户数通常处于性能轻微下降区与性能急剧下降区的交界处
5、我们在登录系统的时候,如果系统禁止同一个用户重复登录,那么我们模拟进行负载测试时,在编辑脚本时应加入( B )技术?
A. 事务 B. 参数化
C. 集合点 D. 检查点
三、简答题
1、什么是性能测试,其应用领域分别是什么?
答:性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试,应用领域有四个:能力验证、能力规划、性能调优、缺陷发现。
2、简述性能测试的步骤。
答:计划测试—测试设计—创建脚本—创建场景—分析结果;
第 11 章 Web 测试
一、判断题
1、测试上传功能不需要考虑上传文件的大小。( F )
2、兼容测试只测试平台。( F )
3、内容测试用来检测 Web 应用系统提供信息的正确性、准确性和相关性。( T )
4、导航描述了用户在一个页面内操作的方式,在不同的用户接口控制之间的操作。( T )
5、数据库测试的包含数据完整性、数据有效性和数据操作和更新。( T )
二、选择题
1、页面内容测试用来检测 Web 应用系统提供信息的(ABC )
A. 正 确 性 B.准 确 性 C.相关性 D.逻辑性。
2、导航测试属于( C )
A.功能测试 B.性能测试
C.可用性/可靠性测试 D.压力测试
3、web 测试一个重要的主要特征( C )
A.图片 B.文字
C.链接 D.视频
4、页面检查主要从以下哪些方面进行测试( ABC )
A.合理布局 B.窗口
C.页面的正确性 D.视频
5、Web 网站功能测试主要测试哪些内容( ABCD )
A.页面内容 B.链接
C.表单 D.Cookies
三、简答题
1、测试 360 网站首页应该考虑的因素?
2、Web 网站图形用户界面测试考虑哪些要素?
第 12 章 移动 APP 测试
一、判断题
1、Appium 只支持 Java 来编写测试脚本。 ( F )
2、移动APP 测试需要重点关注用户体验测试。( T )
3、移动 APP 的性能测试主要包括 3 个部分:Web 前端的性能测试、移动后台服务器性能测试以及移动APP 端 native 性能测试。( T )
4、移动APP 测试不需要进行安装和卸载测试。( F )
5、Monkey 可以对APP 做压力测试。( T )
二、选择题
1、下列哪个不是移动APP 测试的自动化测试框架?( D )
A.MonkeyRunner B.Appium
C.UiAutomator D.Selenium
2、不属于自动化测试金字塔模式的层次的是?( A )
A.集成测试 B.单元测试
C.API 测试 D.UI 测试
3、下列关于正确选择自动化测试工具的说法中错误的是( B )。
A. 选择适合自己公司项目的自动测试工具,可以从测试工具的功能,集成能力,操作系统和开发工具的兼容性等几个方面来考虑。
B. 引入工具时不需要考虑工具引入的连续性和一致性
C.尽量选择主流测试工具
D.如果需要多种工具,尽量选择同一公司的产品。
4、下列关于移动APP 测试的说法中,错误的是( B )
A. 移动 App 测试不仅需要考虑 wi-fi,还需要考虑不同的网络信号。
B. 移动 APP 测试只需要考虑 Android 和 IOS 这两种主流平台。
C. 需要通过专门的工具对 APP 进行耗电量测试。
D.APP 的 UI 测试需要关注事件、按钮、菜单、对话框、工具条等基本的界面元素。
5、下列关于Appium 的描述正确的是( C )?
A. Appium 自动化测试需要重新编译 App
B. Appium Server 只支持 Linux 平台
C. Appium 同时封装了UiAutomator 和 Instrumentation
D. Appium 主要用来对移动 App 做性能测试
三、简答题
1、app 测试和 web 测试有哪些不同之处?
答:
- “点击加载更多”的分页处理技术,是否有重复的数据,数据显示是否完整,到达最后一页后是否还有数据进行显示;
- 数据的排序方式;
- 界面跳转是否正确;
- 出现异常情况是否有提示,是否跳转到已经设定好的默认页面,如断网情况下,显示网络未连接,数据加载失败,或者如果此页面没有数据显示,显示友好提示信息;
- 图片处理的地方,是否容易出现程序崩溃现象,主要是图片压缩机制;
- 前台展示的数据,后台进行变动(增、删、改),是否是实时更新还是 app 一开始运行再进行加载;
- 前台主动发出请求,后台数据库中是否存在相应的数据同时包括数据的关联性(商家的会员进行下订单,数据库中生成一条订单的记录的同时,生成一条积分记录,该会员的积分进行相应的变化);
- 手机 app 网络环境测试重点:主要是针对 2G、3G、4G、wifi 三种网络环境进行测试 ;
- 手机 app 兼容性测试:主要是针对 android 各个系统版本进行测试,及测试屏幕分辨率进行测试;
2、概述如何对一个 APP 做测试?
答:
(1) 功能测试
每项开发的新功能都需要进行测试,看看提供的功能是否正确并如设计的一样正常运作。除了经典软件测试,像点击按钮、提交订单看看会发生什么,测试员还必须执行更多功能的app 测试。
除了整个手动测试过程,测试自动化对移动 app 也很重要。每个代码变化或新功能都可能影响现存功能及它们的状态。通常手动回归测试时间不够,所以测试员不得不找一个工具去进行自动化回归测试。现在市面上有很多自动化测试工具,有商业的也有开源的,面向各个不同平台,如 Android,iPhone,WindowsPhone7,BlackBerry 以及移动 Webapp。根据开发策略和结构,品质管理测试专家需找出最适合他们环境的自动化工具。
(2) 客户端性能测试
一个 App 做的好不好,不仅仅只反应在功能上。被测的 app 在中低端机上的性能表现也很重要。比如:一个很好玩的游戏或应用,只能在高端机上流畅运行,在中低端机上卡的不行,也不会取得好的口碑。
关于 App 的性能测试,我们比较关注的参数有:CPU,内存,耗电量,流量,FPS。同时也需关注一下App 的安装耗时和启动耗时。
目前大家可能比较困惑的一个问题,多高的 CPU,内存,耗电量,流量,FPS 才算是符合发布的值呢?这里可以告诉大家,可以参考精品游戏的一些数值,将自己研发的 app 与业内精品的 app 数据做对比。
(3) 适配兼容测试
App 在经过功能测试后,也需对其进行适配兼容测试需要检查的项主要有以下几点:
(a) 在不同平牌的机型上的安装、拉起、点击和卸载是否正常;
(b) 在不同的操作系统上的安装、拉起、点击和卸载是否正常;
我们在实际测试中,常常会遇到下列问题:
(a) 在某个平牌某个系统上,app 安装不上;
(b) 在某个平牌某个系统上,app 无法拉起;
(c) 在某个平牌某个系统上,app 拉起后无响应或拉起后黑屏、花屏;
(d) 在某个平牌某个系统上,app 无法顺利卸载;
(4) 安全测试
App 在上线前,都需要做详细的安全测试。安全测试主要为了检测应用是否容易被外界破解;是否存在被恶意代码注入的风险;上线后外挂的风险高不高等。
(5) 服务器性能测试
服务器性能测试,主要包含单机容量测试和 24 小时稳定性测试。单机容量测试,可以检测到单机服务器在 90%的响应时间和成功率都达标的前提下,能够承载多少用户量。使用特定游戏模型压测 24 小时,服务无重启,内存无泄漏,并且各事务成功率达标。
第 13 章 嵌入式软件测试
一、判断题
1、嵌入式软件测试对软硬件环境没有特殊要求。( F )
2、嵌入式系统是指用于执行独立功能的专用计算机系统。( T )
3、嵌入式软件一般采用面向对象的语言编写。( F )
4、嵌入式软件测试与非嵌入式软件测试没有本质的区别。( F )
5、嵌入式软件对系统的可靠性和安全性要求比一般的软件系统高。( T )
二、选择题
1、下面( B )特性不符合嵌入式操作系统特点。
A. 实时性 B. 不可定制
C. 微型化 D. 易移植
2、嵌入式软件测试的测试环境主要有:( A、C )。
A. 目标环境测试 B. 软件环境测试
C. 宿主环境测试 D. 硬件环境测试
3、下面哪点不是嵌入式操作系统的特点。( C )
A. 内核精简 B. 专用性强
C. 功能强大 D. 高实时性
4、嵌入式系统应用软件一般在宿主机上开发,在目标机上运行,因此,需要一个( B ) 环境.
A.正确的 B.交叉编译
C.一般的编译 D.以上都不对
5、嵌入式操作系统一般通过( A )手段来解决代码体积和嵌入式应用多样性的问题。
A.使用可定制的操作系统
B.将操作系统分布在多个处理器上运行
C.增大嵌入式系统存储设备的存储容量
D.使用压缩软件对操作系统进行压缩
三、简答题
1、简述嵌入式软件测试与普通软件测试的区别。
2、简述对 IP 电话交换机(复杂嵌入式系统软件)如何做嵌入式软件测试。
第 14 章 面向对象的软件测试
一、判断题
1、面向对象测试的对象是面向对象软件,采用面向对象的概念和原则,用结构化的方法构建 。( F )
2、面向对象编程的特点有抽象、继承、封装和多态性。( T )
3、Junit 是面向对象的单元测试工具。( T )
4、类是具有相同属性和相同行为的对象的集合。( T )
5、面向对象的集成测试能够检测出相对独立的单元测试无法检测出的那些类相互作用时才会产生的错误。( T )
二、选择题
1、软件测试分类按用例设计方法的角度分为( C )。
A.单元测试和集成测试 B.静态测试和动态测试
C、 黑盒测试和白盒测试 D.系统测试和验收测试
2、面向对象开发的特点是遵循以下三项原则:( ABC )。
A.抽象原则 B.封装原则
C、 继承原则 D.特殊原则
3、在面向对象编程(OOP)阶段,忽略类功能实现的细则,将测试的目光集中在类功能的实现和相应的面向对象程序风格,主要体现为以下两个方面(假设编程使用 C++语言):( AB )。
A.数据成员是否满足数据封装的要求
B.类是否实现了要求的功能
C.封装是否满足了成员要求
D.功能是否实现
4、属于面向对象单元测试工具的是( D )。
A.LoadRunner B.QTP
C、 QC D.Junit
5、面向对象开发模型包含哪些阶段:( ABD )。
A.OOA B.OOD
D、 OOP D.AOP
三、 简答题
1、面向对象的测试模型是什么?包括哪几个阶段?
2、面向对象的特点有哪些?