诚信档案建设网站首页,误入网站退不了怎么做,建设网站前的需求分析,廊坊 网站一、介绍
软件测试是为了尽可能多地发现软件系统中的错误而不是证明软件的正确性。
1、软件缺陷是什么#xff1f;
软件在使用过程中存在的任何问题都叫软件的缺陷#xff0c;简称bug。
缺陷的判定标准 软件未实现需求说明书中明确要求的功能——少功能 软件出现了需求说…一、介绍
软件测试是为了尽可能多地发现软件系统中的错误而不是证明软件的正确性。
1、软件缺陷是什么
软件在使用过程中存在的任何问题都叫软件的缺陷简称bug。
缺陷的判定标准 软件未实现需求说明书中明确要求的功能——少功能 软件出现了需求说明书中指明不应该出现的错误——功能错误 软件是现实的功能超出需求说明书指明的范围——多功能 软件未实现需求说明书中虽未明确指明但应该实现的要求——隐性功能错误 软件测试人员认为软件难以理解不易使用运行缓慢用户体验不好——不易使用
缺陷的等级可以划分为轻微、一般、严重、致命。
2、软件测试的定义
软件测试是为了发现错误而运行程序的过程。 测试是使用人工或自动的手段来运行或检测某个系统的过程其目的在于检验它是否满足约定的需求或是比较预期结果与实际结果的差别。
3、软件测试的目的
为了发现软件中的错误。 以检验软件是否满足用户需求为目标。 一个成功的测试是发现了至今尚未发现的错误。
4、软件测试的原则
1要尽早并且不断地进行测试 2测试用例应由测试输入数据及与之对应的预期输出结果两部分组成 3 程序员应避免检查自己的程序 4 设计周密的测试用例 5 注意测试中错误集中的现象 6 严格执行测试计划排除测试的随意性 7 对测试错误结果一定要有一个确认的过程 8 妥善保存测试计划、测试用例、出错统计和最终分析报告
二、软件测试生命周期过程
软件测试是由测试计划、单元测试、集成测试、系统测试、验收测试等组成的。
1、测试计划
软件测试伴随在如那件开发的整个生命周期。 软件生命周期需求分析→系统设计→编码→软件测试→系统发布→软件运行使用→软件维护。 2、单元测试最基本的测试活动多采用 白盒测试 技术
测试对象软件设计的最小单位——模块。 单元测试的依据是详细设计主要用于验证各个独立模块的功能正确性。 系统中多个模块可以并行地进行测试。 驱动模块 负责提供测试输入调用被测模块并接收输出以验证功能正确性。 被测模块 是单元测试的核心直接被测试的代码模块。 桩模块 用于模拟被测模块依赖的其他模块帮助实现测试的隔离性。
3、集成测试
在单元测试的基础上将所有模块按照设计要求如根据结构图组装成为子系统或系统进行集成测试。
集成测试策略最主要的有三种 大爆炸集成自顶向下集成方式自底向上集成方式。
4、系统测试
对最终软件系统进行全面测试。 1功能测试检查产品是否达到产品需求说明书中规定的功能。 2性能测试 负载测试 通过不断增加负载的方式关注系统在正常工作情况下的性能瓶颈和负载能力。 压力测试 关注系统在高负载或超出最大负载时的表现。 3安全测试 4强度测试 5健壮性测试 6用户界面测试 7兼容测试 8安装测试 9回归测试根据修复好了的缺陷再重新进行的测试。目的是一方面验证以前出现过但已经修复好的缺陷不再重新出现另一方面验证再修复缺陷的同时没有引入新的错误。
5、验收测试
软件系统的功能和性能满足用户需求。 Alpha测试就是指内测是在开发者环境进行的测试环境是可控的用户少时间集中。 Beta测试就是指公测是在用户环境下进行的测试环境不可控用户比较多时间不集中。
三、测试技术
1、代码检查
1代码会审 一组人阅读、讨论和争议对程序进行静态分析的过程。
2走查 以小组为单位进行代码阅读区别是使用了计算机把测试数据沿程序的逻辑结构走一遍。
2、黑盒测试功能测试
代码不可见UI功能可见 主要依据用户需求规格说明书和详细设计说明书。
1等价类划分 有效等价类有意义的合理的输入数据所构成的集合。 无效等价类不合理的或无意义的输入数据所构成的集合。 使用场景有数据输入编辑框的地方。
例1.注册邮箱 邮箱名要求6~18个字符可使用字母、数字、下划线、需以字母开头。
等价类表
输入条件有效等价类编号无效等价类编号6~18个字符1少于6个字符多于18个字符空234邮箱名包含字母、数字、下划线5除字母、数字、下划线外的特殊字符非打印字符中文字符678以字母开头9以数字或下划线开头10
测试用例
编号输入数据覆盖等价类预期输出1test_1231、5、9合法输入2test2、5、9非法输入3test_123456789_1234567893、5、9非法输入4NULL4非法输入5test1231、6、9非法输入6test 1231、7、9非法输入7test测试1231、8、9非法输入8123_test1、5、10非法输入
2边界值分析 边界范围节点选取正好等于、刚好大于、刚好小于边界的值作为测试数据 上点边界上面的点正好等于 离点离边界最近的点 内点范围内的点 3错误推测法 根据经验列举出程序中所有可能有的错误和容易发生错误的特殊情况并根据它们设计测试用例。
4因果图法 因————原因输入条件 果————结果输出结果 因果图法就是通过画图的方法表达输入和输出的关系因果关系 Ci表示原因通常置于图的左部Ei表示结果通常在图的右部。 例 某软件规格说明书包含这样的要求第一列字符必须是A或B第二列字符必须是一个数字在此情况下进行文件的修改但如果第一列字符不正确则给出信息L如果第二列字符不是数字则给出信息M。 1) 根据题意原因和结果如下 原因 1——第一列字符是A 2——第一列字符是B 3——第二列字符是一个数字。 结果 21——修改文件 22 ——给出信息L 23——给出信息M。 2) 其对应的因果图如下 11为中间节点考虑到原因1和原因2不可能同时为1因此在因果图上施加E约束。 5判定表驱动 解决什么问题多条件限制依赖关系如何测试 实施——画表格——列出条件列出操作 3)根据以上因果图建立判定表。 6正交试验法 是研究多因素、多水平的一种实验方法,它利用正交表来对实验进行设计,通过少数实验代替全面的实验。
行数正交表中的行的个数即试验的次数也是通过正交实验法设计的测试用例的个数。 因素正交表中列的个数即要测试的功能点。 水平数任何单个因素能够取得的值的最大个数即要测试功能点的输入值。 7因素2水平8行。 例 某所大学通信系共2个班级刚考完某一门课程想通过“性别”、“班级”和“成绩”这三个查询条件对通信系这门课程的成绩分布男女比例或班级比例进行人员查询 根据“性别”“男女”进行查询 根据“班级”“1班2班”查询 根据“成绩”“及格不及格”查询 按照传统设计——全部测试 分析上述测试需求有3个被测元素被测元素我们称为因素每个因素有两个取值我们称之为水平值也就是2。 如果是普通的全面测试则如下2^38次 若采用正交测试 利用正交表设计测试用例我们得到的测试用例个数是n3*(2-1)14这个公司就是因素数*最大水平数-11对于三因素两水平的刚好有L4(2^3)的正交表可以套用 于是用正交表试验法得出4个测试用例如下正交测试表的类型一般都会给出来 3、白盒测试结构测试单元测试动态测试、静态测试
代码层面
1语句覆盖 设计测试用例使得程序中每条语句至少被执行一次。
2判定覆盖 设计测试用例使得程序中的每个判断的”真“和”假“都至少被执行一次。
3条件覆盖 设计测试用例使得判定中的每个条件至少有一次取真值有一次取假值。
4判定/条件覆盖 设计测试用例使得被测程序中的每个判断本身的判定结果(真假)至少满足一次每个逻辑条件的可能值也至少被满足一次。就是既满足判定覆盖也满足条件覆盖。
5条件组合覆盖 设计测试用例使得被测程序中的每个判定中条件结果的所有可能组合至少执行一次。
6路径覆盖 设计测试用例覆盖程序中所有可能的路径。
4、设计测试用例
测试用例包括两部分测试输入数据、预期输出数据。
四、习题集
1、针对水杯设计测试用例
①外观是否与图片宣传一致是否美观、有没有明显划痕、形变 ②密封性颠倒、倾斜是否会漏水 ③容量实际容量是否与包装标注的一致 ④使用便捷性设计的手柄是否合理重量是否适中喝水是否方便 ⑤保温性/保冷性保温/保冷时长可以达到预期时长否 ⑥耐用性抗摔否 ⑦安全性使用的材质是否对人体有害是否符合国家标准 ⑧清洁性测试水杯是否容易清洗掉污渍杯口和杯身连接处是否容易清洁 ⑨环保性使用的材质是否可回收是否符合环保标准 ⑩杯盖开启性杯盖易于开启且密封性要好
2、输入三个数a、b、c分别作为三边的边长构成三角形。程序判断所构成的三角形类型。请为该程序 设计测试用例满足判断覆盖。
三角形类型abc等边三角形777等腰三角形775一般三角形345非三角形341
3、C/S客户端/服务器 B/S浏览器/服务器
4、冒烟测试
冒烟测试就是用较少的人在较短的时间内测试程序的主要功能如果通过再进行正式的测试。
5、静态和动态测试
静态测试是不运行被测程序本身而寻找程序中可能存在的错误或评估程序代码的过程。通过分析或者检查源程序的语法、结构、过程、借口等来检查程序的正确性找出问题。这些问题包括参数不匹配、不适当的分支嵌套和循环嵌套、未使用过的变量、空指针的引用等。 文档的测试一般也是用静态测试。 静态测试可以用手工也可以用工具实现。静态测试工具一般是对代码进行语法检查找出不符合编码规范的地方根据某种模型评价代码的质量生成系统的调用关系图等常见的工具有Telelogic公司的Logiscope、PR公司的PRQA等。
动态测试是运行被测试程序输入相应的测试数据检查运行结果与预期结果的差异判定执行结果是否符合要求从而检验程序的正确性、可靠性和有效性并分析系统运行效率和健壮性等性能。
6、黑盒测试、灰盒测试和白盒测试
黑盒测试又称为功能测试、数据驱动测试或者基于规格说明书的测试注重测试软件的功能需求。测试人员不关心程序具体如何实现根据软件的规格对软件进行各种输入观察软件的各种输出结果发现软件的缺陷。因为这类测试不考虑软件的内部运作原理因此软件对用户来说就像一个黑盒子。
灰盒测试是介于黑盒测试与白盒测试之间的测试方法在执行白盒测试的时候考虑使用黑盒测试的方法。
白盒测试又称结构测试、逻辑驱动测试或基于程序代码的测试。根据软件内部的工作原理分析来进行测试测试人员通过阅读程序代码或者通过使用开发工具中的单步调试来判断软件的质量。