赞
踩
目录
使用人工或者自动手段来运行或者测试某个系统的过程。在规定条件下对程序进行操作从而发现问题,对软件质量进行评估的过程。
简而言之就是:为了发现程序中错误而执行程序的过程。
1)软件测试为了发现程序存在的代码或业务逻辑错误;
2)软件测试为了检验产品是否符合用户需求;
3)软件测试为了提高用户的体验
1、白盒测试:逻辑覆盖、循环覆盖、基本路径覆盖
2、黑盒测试:等价类划分、边界值、因果图、判定表、场景法、流程分析法、错误推测法、正交表排序法。
1)所有测试都应追溯到用户需求。
2)应当把尽早测试和不断测试作为座右铭。
3)2:8原则,测试80%的错误可能来源于20%的新增模块
4)对测试发现的错误结果写一个缺陷报告。
5)完全测试是不可能的,测试需要终止。
6)设计测试用例时应全面考虑各种情况。
7)制定严格的测试计划。
8)注意回归测试,对修改过的代码,重新测试确保没有引入新的错误。
1)测试范围(功能性测试;非功能性测试)
2) 测试通过/失败的标准(通过准则;失败准则)
3)测试挂起恢复条件
4)测试进度人力分布计划
5) 测试交付物
1) 测试环境(软硬件构成;网络构成;环境搭建;测试工具)
2) 测试策略
3) 测试风险评估与预防
4) 测试报告:
测试BUG记录
测试BUG统计分析
测试用例执行情况清单
遗留问题清单
1)需求分析(用户\产品经理)
2) 编写测试计划(测试经理)
2)编写测试用例(测什么\怎么测)
3)评审测试用例
4)搭建测试环境
5)等待开发提交测试包
6)部署测试包
7)冒烟测试(对软件主体基本功能进行测试)
8)执行测试用例
9)Bug跟踪处理
软件产品质量模型对产品设计时需要考虑的地方进行高度概括。
1)功能性:在指定情况下,提供满足明确的功能。
2)可靠性:在指定条件下使用时,产品维持规定的性能级别。
第一:系统最好不出故障
第二:出故障不影响主要的功能和业务
第三:如果影响主要功能及业务,系统可以尽快恢复。
3) 易用性:易懂易学易用,漂亮好看(用户体验)
4) 效率性:产品性能
5) 可维护性:产品被纠正改进的能力
6) 可移植性:能从一种环境迁移到另一种环境
单元测试又称模块测试,需要从程序的内部结构出发设计测试用例,多个模块可以平行的进行单元测试。
集成测试又称组装测试,通常是在单元测试的基础上,将所有程序进行有序,递增的测试,重点测试不同模块的接口部分。
将整个软件系统看作一个整体进行测试,包括对功能、性能、以及对软件所运行的软硬件环境测试。前期主要是测试功能是否满足需求,后期主要测试性能是否满足要求。系统在不同软硬件环境中的兼容性。
验收测试是最后一个阶段的测试操作,在软件产品投入正式运行前的所要进行的测试工作。和系统测试相比而言,验收测试与之的区别就只是测试人员不同,验收测试则是由用户来执行这一操作的。
(1)a测试:Alpha测试是在软件开发环境下由用户进行的测试,或者模拟实际操作环境进而进行的测试。Alpha测试主要是对软件产品的功能、局域化、界面、可使用性以及性能等等方面进行评价。
(2)B测试:Beta测试是在实际环境中由多个用户对其进行测试,并将在测试过程中发现的错误有效反馈给软件开发者。所以在测试过程中用户必须定期将所遇到的问题反馈给开发者。
v模型优缺点?
1、优点:
1.包含了底层测试(单元测试)和高层测试(系统测试);
2.清楚的标识了开发和测试的各个阶段;
3.自上而下逐步求精,每个阶段分工明确,便于整体项目的把控。
2、缺点:
1.自上而下的顺序导致了,测试工作在编码之后,就导致错误不能及时的进行修改;
2.实际工作中,需求经常变化,导致v模型步骤,反复执行,返工量很大,灵活度较低。
3.改良:每个步骤都可以进行小的迭代工作。
定义:开发一个v;测试一个v组合起来的模型(w模型也叫双v模型)
优点:
1.测试伴随着整个开发周期,需求和设计同样要测试;
2.更早的介入测试,可以发现初期的缺陷,修复成本低;
3.分阶段工作,方便项目整体管理。
缺点:
1.开发和测试依然是线性的关系,需求的变更和调整,依然不方便;
2.如果没有文档,根本无法执行w模型;对于项目组成员的技术要求更高!
H模型的优点:
>开发的H模型揭示了软件测试除测试执行外,还有很多工作;
>软件测试完全独立,贯穿整个生命周期,且与其他流程并发进行;
>软件测试活动可以尽早准备、尽早执行,具有很强的灵活性;
>软件测试可以根据被测物的不同而分层次、分阶段、分次序的执行,同时也是可以被迭代的。
H模型的缺点:
>管理型要求高:由于模型很灵活,必须要定义清晰的规则和管理制度,否则测试过程将非常难以管理和控制;
>技能要求高:H模型要求能够很好的定义每个迭代的规模,不能太大也不能太小;
>测试就绪点分析困难:测试很多时候,你并不知道测试准备到什么时候是合适的,就绪点在哪里,就绪点的标准是什么,这就对后续的测试执行的启动带来很大困难;
>对于整个项目组的人员要求非常高:在很好的规范制度下,大家都能高效的工作,否则容易混乱。例如:你分了一个小的迭代,但是因为人员技能不足,使得无法有效完成,那么整个项目就会受到很大的干扰。
总结:
v模型适用于中小企业,
w模型适用于中大型企业(因为人员要求高),
h模型人员要求非常高,很少有公司使用。
测试用例是为特定的目的而设计的一组测试输入,执行条件,和预期的结果。简而言之:测什么,怎么测
等价类划分属于黑盒测试,将不能穷举的测试过程进行分类,从而保证完整性和代表性。
(1)分类:
有效等价类:符合需求规格说明书,输入合理的数据集合。
无效等价类:不符合需求规格说明书,输入不合理数据。
(2)细节
考虑输入长度
考虑输入类型
组成规则
是否为空
是否区分大小写
是否重复
是否去除空格
边界值是指对于输入等价类和输出等价类而言,稍高于其边界值和稍低于边界值的情况。
因果图法是一种利用图解法分析输入的各种组合情况设计测试用例的方法。
特点:
(1)考虑输入条件的相互制约及组合关系
(2)考虑输出条件对输入条件的依赖关系
因:输入条件
果:输出条件
因果图只是一种辅助工具,通过分析最终得到判定表,再通过判定表编写测试用例。
判定表的组成:
(1)条件桩:问题的所有条件
(2)动作桩:问题的所有输出
(3)条件项:针对条件桩的取值
(4)动作项:各种条件区取值情况下输出的结果
场景发就是模拟用户操作软件的场景,主要用于测试系统的业务流程。
(1)基本流:按照正确的业务流程实现操作
(2)备选流:导致程序出现错误的操作流程
流程分析法,又叫场景设计法
三个流程
(1)基本流:通过业务流程输入都为正确的,能够最终达到目标的流程,如atm机取款,插入银行卡-输入正确的密码-输入正确的金额-取钱-取卡
(2)备选流:通过实现业务流程时,因错误操作或异常输入,导致流程存在反复,但最终能够达到预期的操作流程,如atm机取款,插入银行卡-输入错误的密码-重新输入正确的密码-输入金额-取钱-取卡
(3)异常流:通过实现业务流程时,因错误操作或异常输入,导致没有完成业务流程,如atm机取款,插入银行卡,输入三次错误的密码,吞卡
使用方法
(1)根据需求,确定业务流程
(2)绘制流程图,再次明确流程路径
(3)根据业务流程图,抽取测试路径,每个路径包含一个从未走过的路径
(4)细化路径,抽取测试用例
指利用直觉或者经验猜出错误的可能,列举出程序中容易出错或者有可能的错误,常适用于经验丰富的测试人员。
使用最少的抽样数据达到最广的,覆盖率最高的统计结果。
在一个界面中有多个控件,每个控件有多个取值,测试要考虑不同控件不同取值之间的组合 ,但是组合数量较大(>20种,20种以下一般用因果图/判定表),没有必要全部测试,如何从所有组合中挑选最少的组合测试,并能得到最优的测试效果—使用正交排列法。
正交排列法和判定表法的主要异同:
1、都是用来测控件的组合问题
2、判定表法适合测组合数量较少的情况
3、正交排列法适合测组合数量较多的情况
4、判定表(因果图)会反映控件之间的限制和组合关系
5、正交排列表只需反映控件之间的组合关系。
三、解析正交表公式
Ln(m^k)
L:line 行
n:表示正交表有几行,需要测试的组合的个数
n值是固定的,一旦正交表确定n值就是固定的,不需要测试人员自己计算。
m:表示正交表中允许出现的最大值
根据每个控件的取值个数来确定m值
k:表示正交表有几列
根据组合的控件个数进行确定
四、使用正交表测试的步骤:
步骤1:分析需求--- 列出需要组合的控件以及每个控件的取值(excel)
步骤2:选择一个合适的正交表
选择正交表,其实就是确定正交表的m值和k值的过程。
软件缺陷是指软件产品中所存在的问题。最终表现为用户所需功能没有完全实现,没有满足用户的需求。
以上只是我自己总结的面试基本题,考察我们基本功的。因篇幅限制后面偏技术类的题目我后面再发,想先看的也可以找我,我特意把我面试遇到的题目总结成了文档,希望可以帮到大家。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。