测试理论基础篇~有它一篇就够了!

一、软件测试理论:
1.针对测试理论,那就是测试方法的指引:
那么测试方法有哪些:
黑盒测试:主要是针对程序代码所展现给用户使用的功能。
白盒测试:主要针对程序代码逻辑。
灰盒测试:关注输出对于输入的正确性;同事也关注内部表现。

黑盒测试方法:
等价类划分法、边界值分析法、决策表法、因果图法、场景法、正交实验法、错误推测法、状态转换图法、大纲法(需求大纲)。

白盒测试方法:
逻辑覆盖法、基本路径法、程序插装。

黑盒测试与倍和测试的区别?

黑盒测试针对功能,白盒针对结构;黑盒从用户角度触发,白盒是对程序内部的特定部分进行覆盖测试;测试方法不同。

按是否需要运行代码华为为:
静态测试、(1.是代码测试标准和规范2,界面测试实际界面与需求是否相符3.文档测试,主要用户手册和需求说明是否符合用户的实际需求)
动态测试(1.程序运行起来输入相应的测试数据,检查实际输出结果和预期结果是否相符,):

按软件特性分类:功能、性能、返测、回归、冒烟、随机测试。

2测试用例的内容
用例编号、所属模块、标题、优先级、测试环境、前提条件、输入数据、操作步骤、预期结果、测试时间、测试版本、测试人员、实际结果、测试结果、备注
必须选项:用例标号、标题、优先级、操作步骤、预期结果、测试结果。

3.测试用例的作用:
作为执行测试的知道,提取准备测试数据、测试脚本、作为评判的基本标准。
测试用例的用途:防止漏测,版本重复测试、监督过程、评估结果、提高效率、缩短周期。

编写测试用例需要的资料”
需求说明书「需求产品人员编写」、设计说明书『开发编写。概要设计、详细设计』、原型图、同行产品、自己产品、经验。
参考相关文档:需求规格说明书、开发文档、用户手册、与相关人员沟通讨论。

4.测试流程:
需求分析-编写测试计划、方案、用例-测试用例评审-修改完善测试用例-搭建测试环境-执行测试-提交bug-更新测试环境-回归测试-编写测试报告
5.软件缺陷:
软件未实现产品说明书的功能:
软件出现了产品说明书不该出现的错误;
软件实现了产品说明书未提到的功能;
软件为实现产品说明书虽未明确提及但应该实现的功能;
软件难以理解、不易使用、运行缓慢,或者测试员任务不利于用户体验。

缺陷报告的组成:
缺陷编号、缺陷标题、缺陷的发现者、发现缺陷的日期、版本、所属模块、指派给谁处理、缺陷的状态、等级、优先级、缺陷描述。

缺陷报告的用途“
记录软件缺陷、对缺陷进行分类、跟踪软件缺陷、用于缺陷分析、总结。

软件缺陷的识别:
通过测试用例中的预期结果进行识别,通过需求规格说明书进行识别,通过和开发、需求人员、用户沟通 进行识别。

写缺陷报告注意的问题:
一个报告只提交一个缺陷,缺陷描述清晰、准确、易读、使用最少、必须的步骤,保证缺陷可以再现。

缺陷报告的处理流程:
提交缺陷报告-分配-处理-回归-关闭缺陷报告

缺陷的生命周期:
New-open-fixed-返回测试(reopen)-closed

6.常见操作系统,数据库管理
Window linxu 、android、ios ;sqlserver、oracle、mysql

7.b/s结构和c/s结构的区别?
1.硬件环境不同,c/s通常是建立在专用的网络上,小范围的网络环境。而b/s是建立在广域网上的,适应范围强,通常有操作系统和浏览器就行;
2.c/s结构比b/s结构更加安全,因为用户群相对固定,对信息的保护更强。
3.b/s结构维护升级比较简单,而c/s结构维护升级相对困难;
8.有哪些主流的浏览器?
IE 、Firefox、Chrome、360、Safari、Opera

二、软件研发的流程
需求分析-项目立项-需求评审-概要与详细设计-编写程序-单元测试-继承测试-系统测试-验收测试-维护
一、需求分析
1)客户:原始需求
2)需求人员(产品经理):需求分析,需求扩展
3)测试与开发专家:和客户与需求人员一起讲需求文字话(产品规划书),大概的看看逻辑的可行性,软件的可测性。
4)目的:1.了解产品、2.赚不赚钱3、产品发展路线。

二、项目立项
1、项目大概的开始结束时间
2、确定项目经理、测试经理、开发经理、测试人员、开发人员等职位
3、项目负责人等人员安排
4、场地、设备、其他人员(文员、扫地阿姨等(哈哈))
三、需求评审
1)三方评审
1.开发
2.测试:完善客户需求所出现的所有场景和结果
3.需求人员
目的:消除歧义、完善细节、完善场景结果。
2)软件需求规格说明书:软件核心文档、并且会在后面的研发过程中不断的更新和升级
四、概要与详细设计
1)开发:
1.概要设计文档:系统的基本处理流程、系统的组织结构、模块划分、功能分配、接口设计、运行设计、数据结构设计、出错处理设计等
2.详细设计文档“模块的设计考虑、主要算法、数据结构、类的层次结构及调用关系
2)测试:
总测试计划:对所有测试人员的目标、范围、方法、资源和进度的规范等
3)需求文档:
将软件分成一个一个的需求的温昂
五、编写程序
1)开发:搭建开发环境,编写代码,完成需求雏形
2)测试:设计测试场景,编写测试用例。
六、单元测试
1)开发:开发自己用白盒测试测试自己写的代码(目前有些测试也会检验开发逻辑实现)
2)测试:搭建测试环境
七、集成测试
1)开发:主要是拉通表与表之间,系统与系统职期间的数据、代码关系(一半黑盒测试,一半白盒测试,表与表之前的数据,系统与系统之间的代码关系)
2)测试:主要是测试表和表,系统和系统之间的数据代码关系(一半黑盒测试,一半白盒测试,表与表之前的数据,系统与系统之间的代码关系)
3)目标:利用已通过的单元测试的构建建立设计中描述的程序结构。
八、系统测试
1)测试
(1)功能测试:完成需求所要求达到的功能,是测试的核心与基本
(2)兼容性测试:测试在不同系统、不同浏览器、不同环境下的兼容问题
(3)安全性测试:测试权限、连接、访问等安全问题
(4)易用性测试:测试软件的大众化、好不好用,是否体现了需求还美观了画面。
(5)性能测试:测试服务器在不同负载与压力下的各种性能指标(cpu、内存等)是否符合需求规定
(6)自动化测试:自动化测试:利用自动化测试工具代替手工,完成自动测试
(7)回归测试:测试开发修复bug之后的测试

	(8)提交bug:提交bug问题单,与开发沟通
	2)开发
	(1)继续完成没有完成的编程
	(2)修复bug

九、验收测试
1) 客户:检验软件是否完成需求,软件质量等
2)测试:测试完成之后,编写测试报告。内容包括软件的质量、测试的方法、测试的范围、测试的结果与缺
陷,以及以后可能出现的问题,以及改进的建议
3)开发
十、维护
三、开发测试流程理论
1、软件开发阶段划分
需求分析-概要设计-详细设计-编码
2、软件测试阶段划分
单元测试-集成测试-系统测试-验收测试
3、Alpha测试与Beta测试的区别?
Alpha测试是一种非正式验收来测试,是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际
操作环境下进行的测试。而Beta测试是一种验收测试,是软件产品完成了功能测试和系统测试之后,在产品发布之前
所进行的软件测试活动。一般在用户的应用环境下,用户通过运行和使用软件,检测与核实软件是否符合预期结果。
4、软件测试流程图(需求阶段)
需求工作培训-编写需求文档(需求说明书、系统测试方案)-需求评审-需求变更
5、软件测试流程图(设计编码阶段)
概要设计(概要设计文档-集成测试方案)-评审-详细设计(详细文档-单元测试方案)-评审-编码-单元测试-单元测
试总结(单元测试总结报告)
6、软件测试流程图(集成、系统、验收)
集成测试-测试部评估-系统测试-验收测试-产品综合测试评价-测试工作总结-测试总结文档
7、V模型包括哪些?
需求、规格说明、概要设计、详细设计、编码、单元、集成、系统、验收测试。
8、W模型流程有哪些?
用户需求–需求分析与系统设计–概要设计–详细设计–编码–单元测试–集成测试–验收测试–单元测试设计–集
成测试设计–系统测试设计–验收测试设计–集成–实施–交付
W模型是为解决V模型的缺陷而产生,增加了软件个开发阶段中应同步进行的验证的确认活动
9、W模型的优缺点?
特点:测试的对象不仅是程序,需求、设计等同样要测试,开发与测试同步
优点:可以尽早的发现错误,降低风险,减少成本,提高质量,符合尽早测试和不断测试的原则。
缺点: 1. 不能适应用户需求变化频繁的项目;
2. 需求、设计、编码等活动被视为串型的;
3. 测试和开发活动也保持这一种线性的前后关系,上一阶段完全结束,才可以正式开始下一个阶段工作
4. 无法支持敏捷开发模式;
5. 对于当前软件开发复杂多变的情况,W模型并不能解除测试管理面临的困惑;
10、什么是敏捷开发模式?
敏捷模式,敏捷开发,小版本迭代,scrumworks,task任务
每个迭代的第一个会议:评估工作量,1point点(半天)
开发自主领取任务,敏捷模式前提 认为开发测试人员都是积极主动的
开发和测试自主领取任务,一个迭代,2周时间;迭代总结会议:哪些做的好的,哪些不足
每天的站立会议:早会 不超过15分
站立会议的内容:昨天做的什么,遇到什么问题,有没有解决,需要什么帮助,今天计划做什么
11、测试人员参与的阶段:
1. 用户需求阶段:了解用户的需求目的、范围、背景、并为验收测试做准备
2. 需求分析与系统设计阶段:学习并分析需求,编写测试计划,并为系统测试做准备
3. 概要设计阶段:搭建测试用例框架,细化测试计划,并为集成测试做准备
4. 详细设计阶段:细化测试用例框架,并为单元测试做准备
5. 编码阶段:编写测试用例,并进行单元测试
6. 集成阶段:提取集成测试用例,进行集成测试,集成测试的依据:集成测试用例(从编码阶段写的测试用例中提
取)
7. 实施阶段:测试人员负责的五项工作:
a.搭建环境、b.数据准备、c.执行测试、d.缺陷管理、e.编写测试报告
8. 交付阶段:测试人员协助用户完成验视,对用户进行软件使用的指导培训
11、配置管理(Configuration Management):
概念:通过对软件生命周期不同的时间点上的软件配置进行标识,并对被标识的软件配置项的更改进行系统控制,从
而达到保证软件产品完整性和可塑性的过程。
优点: 1. 能够对项目中的文档、代码等的变化进行有效管理;
2. 能够方便的重现某个文件的历史版本;
3. 能够重新编译某个历史版本,使维护工作变得容易;
4. 能够使异地多团队开发、并行开发成为现实;
5. 从公司方面看,实行统一的配置管理流程可以提高项目组间人员流动时 的工作效率;

四、测试方法选择的综合策略
1、为了测试程序的业务逻辑、业务流程、主要功能的正确性,错误处理能力,使用场景法设计测试用例。
2、需要输入数据的地方,进行等价类划分,包括输入条件和输出条件的等价划分,将无限测试变成有限测试。
3、使用边界值分析法补充用例。
4、可以用错误推测法追加一些测试用例。
5、对照程序逻辑,检查已设计出的测试用例的逻辑覆盖程度,如未达到覆盖标准或有遗漏,应继续补充用例。
6、如果程序的功能说明中含有输入条件和输出条件的组合情况,则一开始就可选因果图或判定表法。
7、对于参数配置类的软件,要考虑各个参数之间的组合情况,用正交排列法选择较少的组合达到最佳效果。
8、为了更真实模拟用户的操作流程,顺序,可以用状态转换图法来设计测试用例。
9、如果程序的模块设计多个窗口,并有相关联的操作,可用测试大纲法来设计用例。

你可能感兴趣的:(学习笔记,集成测试,单元测试)