搬运自牛客网,整理如下:
1、对手机软件的压力测试通常可以包括【ABC】
A 存储压力 B 响应能力压力 C 网络流量压力 D 并发压力
误:并发压力是针对服务器的,因为每次并发是一个客户端
针对手机应用软件的系统测试,通常从如下几个角度开展:功能模块测试,交叉事件测试,压力测试,容量测试,兼容性测试,易用性/用户体验测试等. 对手机可以施加的压力测试类型主要有:存储压力、边界压力、 响应能力压力、网络流量压力
- 功能模块测试:首先分析功能模块的功能项,测试每一个功能项是否能够实现对应功能。一般根据测试用例和软件本身的流程就可以完成基本功能测试。
- 交叉事件测试:又叫做事件或者冲突测试,是指一个功能正在执行过程中,同时另外一个事件或者操作对该过程进行干扰的测试。例如通话过程中接收到短信或者闹铃触发,应用软件运行过程中插拔充电器等。执行干扰的冲突事件不能导致应用软件异常、手机死机、花屏等严重问题。
- 压力测试:又叫做边界值容错测试或极限负载测试。即测试过程中,已经达到某一软件功能[存储、网络、响应能力]的最大容量、边界或者最大承受极限,仍然对其进行相关操作*。例如连续接收或者发送短信,超过收信箱和SIM卡所能存储的最大条数,仍然进行接收或者发送,依次来检测软件在超常态下的表现,进而进行评估用户能否接受。
- 存储压力:由于手机采用的是栈式存储,所以当一个存储块满了之后,程序员不做相应处理的话,就会导致其他存储区被删除。
- 边界压力:边界处理问题一直是容易被忽略的地方
- 响应能力压力:有时 某些操作可能处理的时间较长,如果在处理期间,继续进行其他操作时候就会出现问题。
- 网络流量压力:执行较大数据流量的功能同时,在进行其他操作,使得网络流量始终处于很高的状态,检验各个功能是否依然正常工作,是否存在因为网络流量瓶颈引起的某功能异常。
- 容量测试:即存储空间已满时候的测试,包括用户可用内存/SIM卡所有空间被完全使用的测试。此时在对可编辑模块和存储空间进行操作,如果软件在极容状态下处理不好,将会导致死机或者花屏等问题。
- 兼容性测试:不同品牌、型号手机,不同网络,不同容量大小的SIM卡之间的兼容性测试。例如:中国电信的小灵通接收到中国移动或者中国联通GSM发来的短消息,需要验证显示和回复是否正常。
- 易用性、用户体验测试:在指定条件下,软件产品被理解、学习、使用和吸引用户的能力,是交互的适应性、功能性和有效性的集中体现
2、软件验收测试的合格通过准则是【ABCD】
A 软件需求分析说明书中定义的所有功能已全部实现,性能指标全部达到要求。 B 所有测试项没有残余的一级二级三级的错误。 C 立项审批表、需求分析文档、设计文档和编码实现一致。 D 验收测试工件齐全(测试计划,测试用例,测试日志,测试通知单,测试分析报告)
3、黑盒测试方法与白盒测试方法
------黑盒测试用例设计方法包括:(用于软件的确认测试)等价类划分法、边界值分析法、错误推测法、因果图法、判定表驱动法、正交试验设计法、功能图法、场景法等。 ------白盒测试的测试方法包括:(用于软件的验证) 代码检查法、静态结构分析法、静态质量度量法、逻辑覆盖法(语句覆盖、判断覆盖、条件覆盖、判断条件覆盖、条件组合覆盖、路径覆盖)、基本路径测试法、域测试、符号测试、路径覆盖和程序变异。
黑盒测试:黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用,在测试时,把程序看作一个不能打开的黑盆子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数锯而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。
白盒测试:白盒测试也称结构测试或逻辑驱动测试,它是知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,检验程序中的每条通路是否都有能按预定要求正确工作,而不顾它的功能。
测试分为个人审查、抽查和审查、黑盒测试、白盒测试
4、测试驱动开发TDD
测试驱动开发,(Test-Driven Development),是一种不同于传统软件开发流程的新型的开发方法。它要求在编写某个功能的代码之前先编写测试代码,然后只编写使测试通过的功能代码,通过测试来推动整个开发的进行。这有助于编写简洁可用和高质量的代码,并加速开发过程。
- TDD的原理是在开发功能代码之前,先编写单元测试用例代码,测试代码确定需要编写什么产品代码。
- TDD的基本思路就是通过测试来推动整个开发得进行,但测试驱动开发并不只是单纯的测试工作,而是把需求分析,设计,质量控制量化的过程。
- TDD的重要目的不仅仅是测试软件,测试工作保证代码质量仅仅是其中一部分,而且是在开发过程中帮助客户和程序员去除模棱两可的需求。
- TDD首先考虑使用需求(对象、功能、过程、接口等),主要是编写测试用例框架对功能的过程和接口进行设计,而测试框架可以持续进行验证。
优点:在任意一个开发节点都可以拿出一个可以使用,含少量bug并具一定功能的产品。 缺点:增加代码量。测试代码是系统代码的两倍或更多。
5、软件验收测试包括哪些【ACD】
A 正式验收测试 B 白盒测试C alpha测试 D beta测试
软件验收测试分为三类: 正式验收测试; 非正式验收测试。其中包括α测试(由用户、测试人员、开发人员共同参与的内部测试。) β测试(内测后的公测,即完全交给最终用户测试。)
6、系统测试的策略有哪些?【ABCD】
A 负载测试 B 易用性测试 C 强度测试 D 安全测试
系统测试的16个策略: 功能测试,性能测试,压力测试,容量测试,安全性测试,GUI测试,可用性测试,安装测试, 配置测试,异常测试,备份测试,健壮性测试, 文档测试,在线帮助测试,网络测试,稳定性测试
【解析】负载测试属于性能测试,易用性测试属于GUI测试,强度测试属于性能测试,安全测试属于安全性测试。
(1)性能测试、压力测试和负载测试的关系
压力测试是性能测试的一部分
- 负载测试是逐步增加系统的负载,测试系统性能的变化,最终确定满足性能指标的情况下,系统所能承受的最大负载量,其目的是找出系统的极限在哪,找出系统能承担多少并发,承担多少数据。是极限测试。找到极限就停。
- 压力测试也是逐步增加系统负载,测试系统性能的变化,最终确定在什么条件下,系统性能属于失效状态,找出系统在什么情况下会崩溃,获得系统能提供最大服务级别的测试。是破坏性测试。找到极限后越过极限继续测试。
(2)压力测试与强度测试的关系(目标不同、指标类似)
- 压力测试:是在标准工作环境下,不断增加系统负荷,最终测试出该系统能力达到的最大负荷(稳定和峰值)
- 强度测试:是在非标准工作环境下,甚至不断人为降低系统工作环境所需要的资源,如网络带宽、系统内存、数据锁等等,以测试系统在资源不足的情况下的工作状态
- 强度测试和压力测试的测试指标相近,大多都是与时间相关的指标,如并发量(吞吐量),延迟(最大最小平均)以及顺序指标等
7、设计系统测试计划需要参考的项目文挡有哪些?【ACD】
A 软件测试计划 B 可行性研究报告C 软件需求规范 D 迭代计划
8、下面关于软件测试,描述正确的是【ABCD】
A 软件测试是使用人工操作或者软件自动运行的方式来检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别的过程。 B 软件测试的测试目标是发现一些可以通过测试避免的开发风险。 C 软件测试的原则之一是测试应该尽早进行,最好在需求阶段就开始介入。 D 软件测试主要工作内容是验证(verification)和确认(validation)
【解析】D选项 单元测试:验证针对输入和输出数据,检查其内部数据结构、逻辑和边界条件; 集成测试:验证系统构建是否能够按照系统和程序设计规格说明中描述的那样共同工作的过程; 功能测试:对系统进行评估,以确定集成的系统是否确实执行需求规格说明中描述的功能。 验收测试:开发人员确定系统是按照系统描述的理解运行的。根据客户的需求描述对系统进行检查
9、集成测试的过程包括有以下哪些?
系统集成测试主要包括以下过程:
- 构建的确认过程。
- 补丁的确认过程。
- 系统集成测试测试组提交过程。
- 测试用例设计过程。
- 测试代码编写过程。
- Bug的报告过程。
- 每周/每两周的构建过程。
- 点对点的测试过程。
- 组内培训过程
10、做好文档测试需要注意的点有哪些?【ABCD】
A 仔细阅读,跟随每个步骤,检查每个图形,尝试每个示例 B 检查文档的编写是否满足文档编写的目的 C 内容是否齐全,正确,完善 D 标记是否正确
12、容量测试
容量测试:容量测试目的是通过测试预先分析出反映软件系统应用特征的某项指标的极限值(如最大并发用户数、数据库记录数等),系统在其极限值状态下没有出现任何软件故障或还能保持主要功能正常运行。 容量测试是面向数据的,并且它的目的是显示系统可以处理目标内确定的数据容量。
13、下面描述测试工具的功能正确的有【ABCD】
A JMeter: 基于JAVA的压力测试工具,Badboy用来进行脚本的录制 B Junit: 白盒测试工具:针对代码测试 C LoadRunner:负载压力测试 (预测系统性能) D Testlink: 用例管理工具
JMeter+Badboy:基于JAVA的压力测试工具,Badboy用来进行脚本的录制 负载压力测试:LoadRunner:预测系统行为和性能的工业标准级负载测试工具。模拟上千万用户同时实施并发操作,来实时监控可能发生的问题。 功能测试:通过自动录制、检测和回放用户的应用操作。将输出记录同预先给定的记录比较。 QTP(quicktest professional):自动测试工具 白盒测试:C++ TEST(做C和C++的白盒测试)、JUnit(Java白盒测试)
测试管理工具:对测试需求、计划、用例、实施进行管理 测试辅助工具:本身不执行,可以生成测试数据,为测试提供数据准备 缺陷管理工具:Mantis、BugFree、QC、TD 用例管理工具:Testlink、QC 测试辅助工具:SVN
14、下面哪些属于网游的测试内容?【ABCD】
A 客户端性能 B 服务器端性能 C 从运行完 game.exe 打开游戏界面后可进行的各种操作、玩法 D 界面
15、测试方法可以分成哪几种?【ABCD】
A 个人复查 B 抽查和会审 C 黑盒测试 D 白盒测试
软件测试可以是人工测试:如个人复查,抽查和会审等;也可以是机器自动测试,又有不同的分类:
按照否关软件内部结构具体实现角度划分:A.白盒测试、B.黑盒测试 、C.灰盒测试 按照软件发程按阶段划分:A.单元测试、B.集成测试、C.系统测试、D.验收测试
16、软件质量管理(QM)应有质量保证(QA)和质量控制(QC)组成,下面的选项属于QC的是:【ABC】
A 测试 B 跟踪 C 监督 D 需求审查 E 程序代码审查