首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
牛客689268032号
门头沟学院 iOS开发
发布于天津
关注
已关注
取消关注
@梦小姐:
软件测试理论重点分享
一、缺陷的定义:所有不满足或者是超出用户需求的都是缺陷,没有不存在缺陷的软件,只有迄今为止尚未发现的缺陷。 二、软件测试的目的: 1、以最少的人力、物力、时间找到潜在的各种错误、缺陷 2、利用测试结果、测试信息,避免将来出现错误 3、利用更高效的测试管理手段,提高软件测试的效率和产品质量。 对软件测试的理解: 1、为了尽可能多的发现缺陷,避免线上出现重大问题 2、更深层次的定位bug,协助开发找到解决方案 三、测试和调试的区别: 1、主体不同,一个测试一个开发;目标不同,一个找bug一个改bug; 方法不同,一个正向思维一个反向思维; 2、测试:从已知条件开始,使用预先定义的过程,并没有预知的结果;调试:未知条件开始,结果未知 3、测试:可计划,预先定义用例,调试:计划较困难 4、对象不同:测试文档、数据、代码,调试代码 四、软件生命周期: 软件立项-需求分析-设计(概要设计、详细设计)、编码、测试(单元、集成、系统、验收)-发布维护-淘汰 软件定义:程序+数据+文档 五、软件开发过程模型 1、瀑布模型: 特点:分阶段,当前一个阶段完成,才能进入下一个阶段 优缺点:1、阶段划分过于严格2、线性,前期定需求,到后期才能见到结果,风险较大3、不适应需求的变化 2、快速原型: 特点:迅速建立起一个可维护的原型,便于达成共识确定需求 优缺点:1、克服了瀑布模型---前期需求后期结果----的缺点,减少了风险2、缺点:技术和工具不一定符合主流;快速建立不断更改导致质量低下 快速原型和敏捷开发模型的异同点: 快速原型,原型用于展示不投入生产使用; 敏捷开发(按照一个短的迭代周期工作,强调快,每次交付一些成果,快速响应新需求;迭代,逐渐完善)每次迭代都直接投放市场 3、增量模型 特点:模块作为一个增量组件,从而分批次的进行设计 优缺点:分批次提交,组件为单位,风险低;开发顺序灵活;但项目管理人员把握全局的水平较高。 4、迭代模型 特点:强调开发的深入、优化;每一次开发迭代都要经历完整的工作流程 优缺点:降低了一个增量的开支风险;降低了产品无法按照既定的进度进入市场的风险,加快了进度,适应需求变化容易 5、螺旋模型 特点:兼顾快速原型的迭代,以及瀑布模型的系统化 优缺点:引入风险分析,重大风险时有机会停止;适合大型昂贵的软件 六、软件测试过程模型(用于定义测试的流程和方法) 1、V模型 特点:1、忽视对需求、设计阶段的测试2、后期需求才能得到验证,风险较大3、没有体现尽早测试、不断测试的理念 2、W模型 特点:1、测试、开发并行2、测试对象:程序+需求+设计3、尽早测试,降低成本4、串行、无法支持迭代(无循环) 3、H模型 特点:1、准备好了就可以测2、尽早准备测试、执行测试3、按照某种次序,也可以反复执行 4、X模型(探索性测试、随机测试) 特点:1、帮助有经验的测试人员,在测试之外发现更多的错误2、针对单独的程序片段进行相互分离的编码和测试 七、软件测试过程理念 理念:尽早测试、全面测试 核心竞争力:尽早发现问题、发现别人无法发现的问题 八、软件测试的分类(重点) 1、按开发阶段划分: 单元测试:检查每一个程序模块能否实现详细设计说明书中的功能、性能、接口设计约束要求;需要从内部结构出发设计测试用例;多个模块可平行独立的进行单元测试 集成测试:单元测试基础之上,将所有的程序模块进行有序的递增测试,检查单元或部件的接口关系,逐步集成为符合要求的程序部件或整个系统。 集成模式:1、增量集成(测一个模块就连一个模块)2、非增量集成(每个模块测完了再连接)3、三明治集成(大爆炸集成,定位缺陷较困难) 集成划分:1、自底向上:从原子模块开始组装,测试到较高层模块时,所需下层模块功能均已具备,缺点是最后一个模块加入时才具备整体形象,需要开发驱动模块2、自顶向下:从主控模块开始测试,需要开发桩模块,能及时发现设计上的错误 确认测试:(较短)验证所有的功能、性能以及其他特性是否和用户预期要求一致 系统测试:(最重要)真实的环境下,检查完整的程序能否和系统正确的配置、连接,并最终满足用户所有的需求。(再进行大规模的系统测试前,先进行冒烟测试) 系统测试和集成测试的区别:1、角度:集成测试偏重于技术角度,系统测试偏重于业务角度2、内容:集成测试偏重于各个模块之间的接口,系统测试偏重于整个系统的功能和性能3、技术:集成测试黑盒+白盒,系统测试黑盒 验收测试:Alpha测试和Beta测试都需要用户的参与,但是Alpha测试是用户在开发环境或公司内部模拟实际操作环境的测试;Beta测试由最终用户来测试 各阶段对应的文档:单元测试-详细设计说明书,集成测试-概要设计说明书,系统测试-需求规格说明书,验收测试-用户需求 2、按测试技术划分 黑盒: 特点:不查看内部逻辑,只查看功能是否能正常使用 缺点:覆盖率较低 优点:易实施,不需要关注内部实现 白盒: 特点:对程序内部结构分析测试,对所有代码路径进行测试,是一种穷举测试。 缺点:耗费较大,不能检测到遗漏的逻辑 优点:可检测到代码的每一条分支路径,揭示隐藏在代码中的错误,对代码的测试比较彻底。 方法:语句覆盖、条件覆盖、判定覆盖、条件组合覆盖、基本路径覆盖 灰盒:基于外部表现也基于内部逻辑 4、按代码运行 静态:不实际运行代码,静态检查代码、界面、文档 动态:实际运行代码,输入相应的测试数据,检查实际输出结果和预期是否相符。 5、按软件特性 功能测试: 性能测试:某一功能在指定时间、空间下是否正常使用。 安全性测试:检查程序内保护机制能否防止非法程序入侵,不受各个因素干扰。 6、其他 回归测试:新版本要重复旧版本的所有测试用例。目的:旧版本缺陷被修复、确认没有新缺陷 冒烟测试:对新版本大规模测试之前,先验证一个软件基本功能是否实现,是否具备可测性 随机测试:经验、直觉 猴子测试:意想不到的错误 九、软件测试的流程 需求分析(需求是否合理)---制定测试计划(人、时间、业务点、工具)---测试用例设计---执行测试(环境搭建、bug提交)---测试报告 详细工作流程: 1、需求分析会议:产品、开发、测试参加,主要探讨一些功能点--->需求文档、原型图、数据库表设计 2、开发员进行开发,测试经理编写测试计划--->测试计划 3、测试员参考需求规格说明书、原型图编写测试用例--->测试用例 4、先预测(主功能业务测试)-->依据测试用例进行系统测试-->提交跟踪bug--->测试完,编写测试报告 5、产品上线,维护性测试 职责划分: 1、测试员:设计测试用例测试脚本 2、测试经理:制定测试计划 3、评估测试--测试经理召集开发、测试来做 十、关于需求 1、需求定义:用户解决问题、达到目标所需的条件;系统或系统部件满足合同、标准、其他正式文档所需条件 用户需求:用户使用产品要完成的任务 业务需求:客户对产品高层次、高目标要求 功能需求:开发人员必须实现的功能 2、80、20原则 Bug分布:将近80%在需求和设计上,20%在程序和其他方面 3、产品需求变更怎么办? 先看改动的范围,如果改动的范围较小,重新测试; 如果改动范围较大,可以放在下一个版本或者争取延长测试时间; 如果不能争取时间,加班加点,且在报告中说明变更情概况。 十一、评审 1、评审的定义:正式的会议上将软件项目的成果提交给用户、客户、相关部门对软件产品进行评价和批准。 2、评审的目标:找问题(找出可能影响软件产品质量、开发过程、维护工作的适应性和环境方面的设计缺陷)、解决问题、改进和优化(性能、安全性、经济方面的改进) 3、分类: 同行评审:产品创建者的同行们,改进不足 单人评审:简单、单独一个评审员 管理评审:软件项目、产品管理者 代码检查:检查编写好的代码规范 十二、两个定义 Software test plan:测试员与开发交流的主要方式,最终目标是交流意图、理解任务,重要的是过程而不是文档 Testcase:设计一种情况,程序在这钟情况下,必须能够正常运行并且达到所设计的预期结果。 用例编写注意:不要穷举,详细与时间的平衡,多关注反向,用例库应该不断的更新,可以复用但要注意有效性,灵活…… 十三、黑盒测试用例设计方法 1、等价类划分: 确定了取值范围,一个有效、两个无效 确定了输入值集合或规定了必须如何,一个有效一个无效 布尔一个有效一个无效 输入一组值n个,n个有效,一个无效 规定必须遵守规则,一个有效,n个无效 规定划分的等价类,要划分更小的等价类 2、边界值分析 规定了范围,取刚到达范围的边界值以及刚超越这个范围的边界值 规定了个数,取最大个数、最小个数、最大个数加一、最小个数加一 找其他可能的边界 若给出的输入域输出域是有效集合,选第一个和最后一个 若使用了一个内部数据结构,则选取这个内部数据结构边界上的值 3、因果图 适合多种输入条件的组合(案例:饮料机) 4、判定表驱动 条件排列顺序、规则排列顺序不影响操作,某个规则满足并确定执行操作,不比检验别的规则;(案例:累不累) 5、正交试验法 用最少的实验覆盖最多的操作,用例少,效率高 确定因素,确定每个因素的水平,选择正交表 6、场景法: 描绘事件触发的场景,利于设计测试用例(基本流、备选流) 7、状态迁徙法: 一个状态---某操作---另一个状态,直到没有新的状态 8、测试大纲法: 着眼于需求 十四、web测试方法 1、web功能测试 链接测试:检查链接是否正确;跳转页面是否存在;是否有孤立的页面 表单测试:表单控件是否正确;提交信息是否正确完整;是否有错误处理 Cookie测试:(cookie通常标识用户信息、记录用户状态,使用web时会创建一个cookie文件,写入部分信息,若下次再访问,就能够正确的标识)检查cookie能否正常工作 2、web性能测试 速度测试:多长时间才能显示出来所需界面-----影响时间的因素有服务器(要从大量的数据中检索),硬件(cpu,内存),访问页面文件大小,网络 负载测试:一定负载下,web能否正常工作 压力测试:系统崩溃的临界点 3、web安全性测试 日志文件记录主要操作,加密技术要完整、正确,web是否有超时 4、web兼容性测试:服务端,客户端 5、web易用性测试:能否完成一个任务,完成一个任务多长时间,完成一个任务访问页面数,是否有明确的导航功能,帮助功能是否可靠、易用 十五、web测试、app测试区别 1、架构:web基于b/s,app基于c/s,web中只要更新了服务器,客户端会自动更新,app更新需要用户手动完成,app修改了服务器,意味着客户端使用的所有版本都要进行回归测试 2、性能:web关注响应速度,app关注电量、流量、cpu、内存 3、兼容性:web依赖浏览器、电脑硬件系统;app依赖手机、平板、安卓、ios;分辨率,尺寸, 4、app比web多一项---安装、卸载、更新、界面操作、触屏手势 十六、app测试关注哪些: 性能:cpu,内存,耗电量/流量(满格时候,省电模式),安装,卸载,更新,吞吐量(每秒系统能够处理的请求数),响应时间(处理一个请求的耗时),错误率(一批请求中出错的占比) 兼容性:不同系统上win,linux,unix,不同手机上android,ios 中断:电话、短信、断网 网络:三大运营商,数据wifi切换,4g2g切换,弱网,无网 十七、手动、自动化缺点,自动化意义 手动: 缺点:重复的手工回归测试代价昂贵容易出错;也依赖测试员的经验和能力 优点:手工测试员有经验和对错误的猜测能力;有审美能力、心理体验;有是非判断、逻辑推理能力 自动: 优点:回归测试更方便,缩短时间;可以运行更繁琐的测试;可以执行一些手工困难的、不可能的性能测试;更好的利用资源 缺点:不可以取代手工;手工比自动化发现的缺陷更多;对测试质量依赖很大;工具本身并没有想象力;制约软件的开发 自动化测试的意义:1、回归测试2、执行困难的压力、并发等性能测试3、更好的利用资源,节省时间、人 使用测试工具的意义:帮助测试找问题、协助问题诊断、节省测试时间 十八、bug周期、类别 New:测试员发现一个bug Assigned:开发确认是一个bug Open:开发处理bug Fixed:开发自认为已修复 Pending Reset:(待测) Reset:再测 Closed:确认解决 Reopen:再次打开 Pending Reject:开发拒绝 Rejected:被拒绝 Postponed:延期 new----assigned----open---fixed--pending reset---reset----closed---reopen---pending reject----rejected---postpoend bug类型:代码错误,界面优化、设计错误、性能问题、测试脚本
点赞 10
评论 0
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
07-28 16:15
门头沟学院 Java
科大讯飞正式批笔试
感觉不太能难选择题挺简单的编程题略微有点难度
投递科大讯飞等公司10个岗位
点赞
评论
收藏
分享
07-28 15:32
叠纸游戏_恋与星空-游戏策划(准入职员工)
深信服内推
抓瓦面经,经供参考一面自我介绍实习中遇到的最大困难分批处理数据问题:如何分批处理数据?回答:一开始COUNT总的条数,然后使用LIMIT和OFFSET进行分批查询。每个线程处理一个固定范围的数据,若范围内无数据则停止。追问:若多线程分批查询过程中有数据插入或者删除,则数据缺漏,如何解决问题?回答:维护事务。追问:多线程共享事务存在问题,不合适,有其他方式吗?回答:上锁,但是效率低下(面试官看我给出的两个方案都不满意,没再追问)CSRF攻击防护:问题:什么是CSRF攻击?如何防止?手撕:程序输出解释:问题:解释这个程序的输出(Java的值传递还是引用传递的例子)。绘图程序的改进:问题:如何改进绘...
点赞
评论
收藏
分享
06-10 18:55
已编辑
西安电子科技大学 Java
京东三面已完成
如题,稳不稳今天问了一面面试官,他说等一等,不知道啥意思,是不是挂了也会打电话联系。
只管努力就好:
恭喜恭喜恭喜,我都没有面试机会,上周被压力炸了,今天中午看页面显示被捞进入评估结果下午就没了
京东三面373人在聊
点赞
评论
收藏
分享
06-12 16:28
门头沟学院 后端
不是,这是真实的吗
Gaynes:
查看图片
点赞
评论
收藏
分享
不愿透露姓名的神秘牛友
07-29 14:13
快star-x人才计划避雷
两轮技术面都过了但是通知部门没hc了要换岗位重新投递,早干嘛了,我真绷不住了
_var:
早还没确认招谁(
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
百度提前批,三面被推迟一周,喜提秋招第一凉
4548
2
...
虾皮秋招一面
2891
3
...
他拿大厂SSP Offer打牌是什么概念啊?25届双非之光
2242
4
...
百度提前批 三面
2168
5
...
小鹏offer
1384
6
...
最强本科✌
1224
7
...
上班一周,工资还没拿,先欠公司两千
1114
8
...
被猿辅导挂了简历,但我想说...
1086
9
...
大学四年,我感觉我像个“孤勇者”
1044
10
...
虾皮一面凉经
1014
创作者周榜
更多
正在热议
更多
#
简历上的经历如何包装
#
28829次浏览
811人参与
#
秋招被确诊为……
#
163759次浏览
747人参与
#
中兴秋招
#
205376次浏览
2292人参与
#
工作中哪个瞬间让你想离职
#
63312次浏览
568人参与
#
你最希望上岸的公司是?
#
135052次浏览
705人参与
#
和同事相处最忌讳的是__
#
24110次浏览
244人参与
#
25届网易互娱暑实进度
#
78324次浏览
702人参与
#
虾皮求职进展汇总
#
249150次浏览
1850人参与
#
投格力的你,拿到offer了吗?
#
86589次浏览
583人参与
#
2022毕业即失业取暖地
#
102686次浏览
662人参与
#
2022毕业生求职现身说法
#
89254次浏览
700人参与
#
秋招OC许愿
#
327763次浏览
2450人参与
#
你最近一次加班是什么时候?
#
70982次浏览
350人参与
#
26届的你,投了哪些公司?
#
43839次浏览
488人参与
#
你的秋招第一面感觉怎么样
#
76769次浏览
591人参与
#
柠檬微趣工作体验
#
6694次浏览
40人参与
#
你遇到最难的面试题目是_
#
16434次浏览
199人参与
#
我对___祛魅了
#
47641次浏览
434人参与
#
地平线求职进展汇总
#
52636次浏览
369人参与
#
研究所VS国企,该如何选
#
194784次浏览
1819人参与
#
如果校招重来我最想改变的是
#
271835次浏览
2849人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务