测试小课堂3

一、软件测试进阶篇

1.按开发阶段划分【重要】

(1)单元测试:单元测试就是对于我们的软件的部分进行测试,这个部分就是我们的最小组成单位,它称为最小的测试单位。举个例子来说就比如我们的人体是由细胞组成的,细胞就相当于我们要进行测试的单元。
具体的内容:
测试阶段:编码后或者编码前
测试对象:最小模块
测试依据:代码和注释+详细设计文档
测试方法:白盒测试
测试内容:模块接口测试,局部数据结构测试,路径测试,错误测试,边界测试
(2)集成测试
集成测试在我们的单元测试的基础之上进行了组合,将我们的模块适当的按照一定的规则进行组合进行测试,它的目的主要是检查软件单元之间的接口正确性。
具体内容:
测试阶段:一般在单元测试之后进行
测试对象:模块之间的接口
测试人员:白盒测试工程师或开发工程师
测试依据:单元测试的模块+概要设计文档
测试方法:黑盒测试与白盒测试结合
测试内容:模块间的数据传输、模块间功能冲突、模块组装功能正确性、全局数据结构
(3)系统测试
将软件看成是一个系统,对这个系统进行测试,主要包括:功能、性能以及运行的软硬件环境进行测试。在系统测试阶段还包括回归测试和冒烟测试。
具体内容
测试阶段:集成测试通过以后
测试对象:整个系统(软、硬件)
测试人员:黑盒测试工程师
测试依据:需求规格说明书文档、
测试方法:黑盒测试
测试内容:功能、界面、可靠性、易用性、性能、兼容性、安全性等等
(4)回归测试
修改了代码之后,重新进行测试。此外,注意自动回归测试将大幅度降低系统测试、维护升级等阶段的成本。
(5)冒烟测试
对一个硬件或硬件组进行更改或修复之后直接给设备加电,如果没有冒烟则通过测试。
测试对象:每个新编译的需要正式测试的软件版本,目的是确认软件基本功能正常,可以进行后序的测试工作。
测试阶段:冒烟测试一般在开发人员开发完毕后送给测试人员来进行测试时,测试人员会先进行冒烟测试,保证基本功能正 常,不阻碍后续的测试。
(6)验收测试
验收测试是部署软件的最后一个测试环节,验收测试的目的是确保软件是否准备就绪,按照项目合同、任务书、双方约定的验收依据文档,向软件购买都展示该软件系统满足原始需求。

2.按测试实施组织

(1)α测试
α测试是一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的测试。它的目的是评价软件产品的FLURPS(功能、局域化、可用性、可靠性、性能和支持)。
(2)β测试
是一种验收测试,Beta测试由软件的终用户们在一个或多个场所进行。
α测试与Beta测试的区别:
1)测试的场所不同:Alpha测试是指把用户请到开发方的场所来测试,beta测试是指在一个或多个用户的场所进行的测 试。
2)Alpha测试的环境是受开发方控制的,用户的数量相对比较少,时间比较集中。beta测试的环境是不受开发方控制的, 用户数量相对比较多,时间不集中。
3)alpha测试先于beta测试执行。通用的软件产品需要较大规模的beta测试,测试周期比较长。
(3)第三方测试
介于开发和用户间的组织测试.

3.按是否与运行划分

(1)静态测试
静态方法是指不运行被测试程序本身,仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性。
检查项:代码风格和规则审核;程序设计和结构的审核;业务逻辑的审核;走查;审核与技术复审手册。
静态质量:度量所依据的标准是ISO9126。在该标准中,软件的质量用以下几各方面来衡量,即功能性、可靠性、可用性、有效性、可维护性、可移植性。
注意:代码分析和文档测试都属于静态测试
(2)动态测试
动态测试方法是指通过运行被测程序,检查运行结果与预期结果的差异,并分析运行效率、正确性和健壮性等性 能。这种方法由三部分组成:构造测试用例、执行程序、分析程序的输出结果。
注意:大多数软件测试工作都属于动态测试。

4.按是否手工划分

(1)手工测试
手工测试就是由人去一个一个的输入用例,然后观察结果,和机器测试相对应,属于比较原始但是必须的一个步 骤。总结优缺点:
优点:自动化无法替代探索性测试、发散思维结果的测试。 缺点:执行效率慢,量大易错。
(2)自动化测试
在预设条件下运行系统或应用程序,评估运行结果。
注意:自动化测试比如功能测试自动化、性能测试自动化、安全测试自动化。通常所说的自动化是指功能测试自动化。自动化测试按照测试对象来分,还可以分为接口测试、UI测试等。接口测试的ROI(产出投入比)要比UI测试高。
自动化实施步骤
1)完成功能测试,版本基本稳定
2)根据项目特性,选择合适的项目自动化工具,并搭建环境
3)提取手工测试的测试用例转化为自动化测试的用例
4)通过工具、代码实现自动化的构造输入,自动检测输出结果是否符合预期
5)生成自动测试报告
6)持续改进,脚本优化。

5.按是否查看代码划分【重要】

6.按地域划分

(1)国际化测试
(2)本地化测试:之前的测试全部是本地化测试

7.按测试对象划分

(1)业务测试:关注需求和用户
(2)界面测试:跟人的审美有关的。这个没有唯一的标准的,符合大众审美
(3)容错性测试:
容错性测试是检查软件在异常条件下自身是否具有防护性的措施或某种灾难性恢复的手段。当系统出错时,能否在 指定时间间隔内修正错误并重新启动系统。
容错性测试包括两个方面:
1)输入异常数据或进行异常操作,以检验系统的保护性。如果系统的容错性好,系统只给出提示或内部消化 掉,而不会导致系统出错甚至崩溃。
2)灾难恢复性测试。通过各种手段,让软件强制性地发生故障,然后验证系统已保存的用户数据是否丢失,系 统和数据是否能尽快恢复。
(4)文档测试
文档测试的关注点:术语、正确性、完成性、一致性、易用性
(5)兼容性测试
平台测试:windows平台、linux平台
浏览器测试:不同的浏览器,相同浏览器的不同版本
软件本身的前后兼容性
测试软件能否与其他相关的软件兼容:接口相关的兼容性、测试必须在什么样的环境进行测试
数据兼容测试:java的数值类型:不同类型的数据类型
(6)易用性测试
易用性:就是使用的容易程度
(7)安装测试:程序的安装、卸载是否可以正常的进行
(8)安全性测试
(9)性能测试
我们的性能主要包括:对资源的利用(内存、处理机周期等)进行的精确度,对执行间隔,日志事件,响应时间,吞吐量,辅助内存,处理精度等进行的监测
(10)内存泄漏测试

二、测试管理篇

这一节掌握三个概念:
测试的策略
测试方法
测试方案

1.测试策略的制定

(1)我们从需求规格说明书里面去提取,提取出来以后还要添加一些没有的需求,我们要确认测试业务涉及的测试类别,例如:
功能测试
性能测试
安全性测试
兼容性测试
文档测试
安装卸载测试
其他专项测试
1.对需求测试最详细的阶段是:
测试人员:编写测试用例的时候
开发人员:在架构设计的时候
2.为什么要对需求进行设计:因为需求不一定是正确的
注意我们不能仅仅依赖于需求

例子:
(1) 一个全新上线的app需要做哪些测试?
将它涉及到的测试类型以及我们自己扩展的测试类型全部都要进行测试
(2) 一个增加了新功能的app需要做哪些测试?
首先测试新功能,然后进行回归测试
(3)一个只修改了页面广告的app需要做哪些测试?
只需要对广告页面进行测试就可以了
(2)测试策略的具体实施
测试策略需要确认测试使用的测试技术、测试管理和控制、测试团队组件

2.测试计划的制定

什么人什么时间做什么事情;测试的目标要明确,同时 要确认跟踪机制。

3.测试方案设计

结合我们的测试策略和测试计划更具体的告诉我们如何去做。

【面试】软件测试流程
软件测试分五个步骤:第一步进行需求分析,分析了解需求的目的、范围、背景,需求分析我们采取的方式是:需求串讲、验证、从设计需求中提取;第二部是在我们第一步的基础之上,在我们的需求分析的基础之上编写测试计划,其中包含:测试方案、测试策略;第三部编写测试用例,编写测试用例我们根据测试计划里面的时间点介入去进行编写,测试用例的编写我们同时是对需全进行测试,最后我们的测试用例需要进行评审,通过之后才表示我们的测试用例可以被使用,可以用来进行测试了;第四部是测试执行,测试执行就是根据我们的测试用例一步一步进行执行,发现缺陷要对缺陷进行管理,执行阶段我们可以进行:(冒烟测试、系统测试、回归测试,交叉测试、自由测试);最后是编写测试报告,其中包含缺陷分析:分析我们的缺陷来源以及解决方案、要给出具体的测试结论

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C语言是一种广泛使用的编程语言,它具有高效、灵活、可移植性强等特点,被广泛应用于操作系统、嵌入式系统、数据库、编译器等领域的开发。C语言的基本语法包括变量、数据类型、运算符、控制结构(如if语句、循环语句等)、函数、指针等。在编写C程序时,需要注意变量的声明和定义、指针的使用、内存的分配与释放等问题。C语言中常用的数据结构包括: 1. 数组:一种存储同类型数据的结构,可以进行索引访问和修改。 2. 链表:一种存储不同类型数据的结构,每个节点包含数据和指向下一个节点的指针。 3. 栈:一种后进先出(LIFO)的数据结构,可以通过压入(push)和弹出(pop)操作进行数据的存储和取出。 4. 队列:一种先进先出(FIFO)的数据结构,可以通过入队(enqueue)和出队(dequeue)操作进行数据的存储和取出。 5. 树:一种存储具有父子关系的数据结构,可以通过中序遍历、前序遍历和后序遍历等方式进行数据的访问和修改。 6. 图:一种存储具有节点和边关系的数据结构,可以通过广度优先搜索、深度优先搜索等方式进行数据的访问和修改。 这些数据结构在C语言中都有相应的实现方式,可以应用于各种不同的场景。C语言中的各种数据结构都有其优缺点,下面列举一些常见的数据结构的优缺点: 数组: 优点:访问和修改元素的速度非常快,适用于需要频繁读取和修改数据的场合。 缺点:数组的长度是固定的,不适合存储大小不固定的动态数据,另外数组在内存中是连续分配的,当数组较大时可能会导致内存碎片化。 链表: 优点:可以方便地插入和删除元素,适用于需要频繁插入和删除数据的场合。 缺点:访问和修改元素的速度相对较慢,因为需要遍历链表找到指定的节点。 栈: 优点:后进先出(LIFO)的特性使得栈在处理递归和括号匹配等问题时非常方便。 缺点:栈的空间有限,当数据量较大时可能会导致栈溢出。 队列: 优点:先进先出(FIFO)的特性使得
该资源内项目源码是个人的课程设计、毕业设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 该资源内项目源码是个人的课程设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值