day02
软件缺陷的定义:存在影响软件正常运行的问题。
1.软件未达到说明书的标椎。
2.软件出现了说明书不许出现的错误。
3.软件功能超出说明书所指明的范围。
4.软件未达到说明书未指出,单应达到的目标。
5.软件界面错综复杂。
缺陷产生原因:
1.需求不明确。
2.软件结构复杂。
3.编码问题。
4.项目期限短。
5.使用新技术。
缺陷分类:
1.测试种类。(界面类,功能类,性能类,安全类,兼容性类)
2.严重程度。(严重,一般,次要,轻微)
3.优先级。(立即解决,高优先级,正常排队,低优先级)
4.发生阶段。(需求阶段,架构阶段,设计阶段,编码阶段,测试阶段)
缺陷管理工具:禅道,Jira,码云。
软件测试简介:通过人工或自动化来验证软件的实际结果与用户需求是否一致。
软件测试目的:
1.以最小的代价找出软件中潜在的各种错误和缺陷,进而修复错误和缺陷,避免潜在的隐患风险。
2.同时利用测试中得到的结果和信息,作为后续项目的重要输出,避免同样的错误。
3.采用高效的测试管理手段,提高测试的效率和产品的质量。
测试与开发的关系:一个成功的项目离不开测试。
1.成本。(项目开销,人工,工具,设备,错误等成本)
2.进度。(时间,计划)
3.质量。(软件对顾客需求的满意程度)
软件的模型:
V模型:
优点:标明了测试中的不用级别,并清除描述了开发与测试阶段对应的关系。
(开发阶段) (测试阶段)
用户需求 验收测试
需求分析 系统测试
概要设计 集成测试
详细设计 单元测试
编码和实现
W模型:
相对于V来说,W更科学,测试和开发是同步进行。
优秀软件测试的基本素质:
1.参与需求制定计划,确保能顺利执行并完成。
2.负责项目的功能,用户体验,兼容性及性能测试。
3.负责用例的编写,报告和对测试的结果分析。
4.与开发和产品人员沟通协作,推动项目顺利进行。
5.负责开发团队项目进度管理。
6.熟悉Linux命令和常用数据库,使用基本SQL语句。
7.熟练使用一种Jmeter,Loadrunner等测试工具。
软件测试内容:逻辑功能,界面,性能,易用性,兼容性,安装等。
软件测试环境:硬件+软件+网络
硬件:pc机,笔记本
软件:系统(windows10 windows8)和浏览器(firefox chrom)。
软件测试流程:
软件测试原则:
1.测试显示软件存在缺陷。(能证明软件中存在缺陷,不能证明软件中不存在缺陷)
2.穷尽测试是不可能的 。(软件规模很大,复杂度很高,不能做到完全性测试)
3.测试尽早介入。(一般在需求阶段就开始介入,可以很好地发现缺陷和修改缺陷)
4.缺陷集群性。(小部分模块包含大部分的缺陷)
5.杀虫剂悖论。(反复使用相同的测试手段,可能无法发现新bug)
软件测试分类:
按测试原理分类:
黑盒。(只关心软件输出与输入结果)
白盒。(安程序内部逻辑结构和编码结构设计测试数据的方法)
灰盒。(程序运行时的外部表现,又结合程序内部结构来设计测试数据的方法)
按测试阶段分类:
1.单元测试
2.集成测试
3.系统测试
4.验收测试
按内容分类:
1.功能测试(根据产品描述和需求文档测试它的特性和可操作性是否满足用户需求):
界面。(测试用户界面模块的布局是否符合客户使用习惯,界面的便捷性,导航简单,易懂)
冒烟。(验证系统的核心功能是否能正常运行)
回归。(修改bug后,重新进行测试及确认修改后没有引入新的错误或其他代码错误的方法)
业务逻辑。(基本功能都已合格的基础上,准备多种测试数据来驱动各种约束条件下业务流程,确定最终结果是否符合预期结果)
易用性。(指定用户使用软件时是否方便的测试)
2.性能测试(通过自动化模拟多种正常,峰值以及异常负载条件来对系统各项性能指标 进行校验的测试方法):
压力。(通过逐步增加系统负载,测试系统性能的变化,并确定在什么条件下系统性能处于失效 状态 )
负载。(通过逐步增加系统负载,测试系统性能的变化,在满足性能指标的情况下,系统所能承 受的最大负载量的测试 )
并发。(是一个负载测试和压力测试的过程,即逐渐增加并发用户数负载直到系统的瓶颈,通过 分析资源监控指标等来确定系统并发性能)
3.兼容性:
随机。(随机测试主要是根据测试者的经验无需测试用例对软件进行功能和性能抽查的测试方法)
安全性。(通过不同的测试方法,检验程序、网络、数据库安全性的测试方法) 探索性。(碰到问题时能随机应变,强调测试人员的主观能动性明确整体的测试计划的测试方法)
Alpha。(俗称内测,α测试。内部环境下的测试;开发人员或测试人员在现场) Beta。(俗称外测、公测,β测试。生产环境下的测试;开发人员和测试人员都不在现场)
软件测试计划:
定义:制定测试目的,范围,方法,时间进度及测试终点的过程。
测试计划内容:
1.测试目的
编写结构。(总体概念,包含详细描述)
编写内容。(程序是否满足需求,是否存在bug,系统或产品顺利发布)
2.测试资源
人力资源。(测试经理,测试工程师等)
系统资源。(硬件资源,软件资源)
硬件资源:CPU,主板,内容,显卡,视频卡,机箱,键盘等。
软件资源:wirdows200,....等
3.测试范围
测试对象,测试的特性,不测试的特性
4.测试风险
人员不足、技术有限、软件依赖环境不完备、工具不足、需求变更等。
5.人员分工
6.测试策略
第一种方式:
微信支付功能
1.采用接口测试和功能测试 2.测试工程师B对新增的接口进行功能及性能的测试 3.测试工程师A根据需求对微信支付功能业务逻辑、UI、兼容性等进行测试登陆页面 4.测试工程师B对登陆页面进行布局、文字,交互及兼容性等进行测试其它功能 5.运行回归测试用例,覆盖积云商城的主业务流程 6.注册页面运行稳定并且未作修改,本版本不测试
第二种方式:
7.测试准则
启动准则:满足什么情况可以进行测试
暂定准则:遇到什么情况测试要暂定
在启动准则:在什么情况下可以重新启动测试
结束准则:什么情况下可以停止测试
缺陷分类:轻微,一般,次要,严重
8.测试进度
9.测试输出