• 0
  • 0
分享
  • “软件工程”学习笔记、复习资料——软件测试圈
  • 恬恬圈 2021-05-08 10:57:14 字数 8831 阅读 2212 收藏 0

第一章:

什么是软件?

计算机系统中与硬件相互依存的另一部分。软件包括程序、数据及其相关文档的完整集合。

(1)能够完成预定功能呾性能的可执行指令(program) 
(2)使得程序能够适当地操作信息的数据结构(data) 
(3)描述程序的操作呾使用的文档(document)

软件危机的定义?

软件在开发和维护过程中遇到的一系列严重问题。

软件危机包含两层含义:

(1)如何开发软件
(2)如何维护数量不断膨胀的现有软件。

软件危机的表现:

(1)软件开发的迚度难以控制,经常出现经费超预算、完成期限拖延的现象。
(2)软件需求在开发初期不明确,导致矛盾在后期集中暴露,从而对整个开发 过程带来灾难性的后果。  
(3)软件文档资料不完整、不合格。由亍缺乏完整规范的资料,加上软件测试不充分,从而造成软件质量低下。 
(4)软件的可维护性巩,程序错误难以改正,程序丌能适应硬件环境的改变。
(5)软件价格昂贵,软件成本在计算机系统总成本中所占的比例逐年上升。

什么是软件工程?

软件工程是指导计算机软件开发和维护的一门工程学科

软件的生命周期?

1、计划阶段:确定待开发的总体目标和范围,研究系统的可行性;
2、分析阶段:分析整理和提炼所收集到的用户需求,建立完整的分析模型,将其编写成软件需求规格说明和初步的用户手册;
3、设计阶段:决定软件怎么做,集中于软件体系结构数据结构、用户界面和算法
4、实现阶段 :将所设计的各个模块编写成计算机可接受的程序代码
5、测试阶段:设计测试用例,对软件进行测试,发现错误,进行改正;
6、运行和维护阶段:应在软件的设计和实现阶段充分考虑软件的可维护性;

软件工程的三要素:

1、工具(例:EA、Axure、MoinMoin、XMind等等.....);
2、方法(例:业务建模方法、需求方法、项目管理方法、配置管理方法);
3、开发过程(根据客户、团队和项目特征指定框架,关键是对核心活动的选取和定义,如业务建模、需求、分析、设计、实施、发布);

经典的软件过程:

1、瀑布模型
2、RUP统一软件过程
3、Scrum敏捷过程
4、扩展ICONIX

软件过程之-----瀑布模型:

1、特点及其缺点:

(1)特点:自上而下、相互衔接的固定次序,上一个阶段的变换结果是下一个阶段变换的输入,相邻两个阶段具有因果关系;
(2)缺点:各个阶段划分固定,阶段之间产生了大量文档,增大了工作量。开发模型是线性的,用户只有等到整个过程的末期才能见到开发结果,增加了风险;早期的错误等到后期的测试阶段才能发现,进而带来严重的后果;

2、过程:

(1)需求分析 
(2)需求定义 
(3)概要设计
(4)详细设计 
(5)实现 
(6)系统测试 
(7)验收测试 
(8)维护

软件过程之----RUP统一软件过程:

1、特点:

中心思想是用例驱动、架构为中心、迭代和增量

迭代:反复求精

增量:逐块建造

软件过程之-----扩展ICONIX

7个阶段:

1、愿景
2、业务建模
3、需求分析
4、健壮性分析
5、关键设计
6、最终设计
7、实现

获取愿景三部曲:

1、第一步:找到项目的"老大"
2、第二步:得到“老大”对项目的期望(愿景)
3、第三步:描述出愿景的度量指标;

业务建模的意义和步骤:

1、意义:

业务建模要求我们把视角从软件系统转向客户组织,站在客户的角度看问题,以达到清晰准确地“诊断”,对症“开方”。

1、明确为谁服务--找准客户及其愿景,切记不是在为自己做系统;
2、要改进的组织是什么现状---有什么痛处和不足;
3、如何改进--新系统的价值就是解决客户痛处、改良客户不足,这才是客户愿意掏腰包的动力
4、在业务建模和需求分析阶段,忘掉自己技术专家的身份;

2、步骤:

1、明确我们为谁服务(选定要改进的组织)
2、要改进的组织是什么现状(业务用例图、现状业务序列图)
3、我们如何改进(改进业务序列图)

业务建模的第二步(了解组织现状)

从外部看:组织是价值的集合,用业务用例图来建模;
从内部看:组织是系统的集合(人是一种智能系统),用业务序列图来建模;

业务用例(从外部看企业)

业务用例图帮助我们从高层次了解组织的业务构成。

业务用例图的组成:

1、业务执行者:在业务组织之外,与其交互,享受其价值的人或组织;例如食客是餐馆的业务执行者,顾客是超市的业务执行者;
2、业务组织:超市、餐馆;
3、业务用例:业务组织为业务执行者提供的价值。例如餐馆的业务用例有吃饭、点餐;超市的业务用例有结账;

1.jpg

业务序列图(从内部看企业)

业务序列图帮助我们从细节上了解组织的业务流程。
序列图以面向对象的思想来看业务流程。(优势)

业务序列图的组成:

1、业务执行者
2、业务工人:位于业务组织内部,负责业务流程中某些工作的人员;(例:银行工作人员、餐厅的服务员)
3、业务实体:在业务用例的实现柳橙汁,业务工人所使用的的“系统”。(例:银行数钞机、餐馆自动点餐机);可以和业务工人相互取代各自的职责;
4、调用消息
5、返回消息

2.jpg

业务序列图的作用:

1、识别业务对象:业务执行者、业务工人、业务实体;
2、确定业务对象间的职责、协助及交互顺序;
3、通过序列图来了解现状,为业务的优化提供依据;

序列图中的几种分支:

1、循环分支:loop
2、条件分支:Alt
3、可选分支:Opt

业务序列图的高级话题:

1、消息的名字:代表责任和目的
2、消息的方向:代表责任委托,不是数据流动
3、知画领域相关的系统
4、最小单位是人肉或独立智能系统;
5、把时间看做特殊的业务实体:时间也可以是执行者,用时间执行者来标识预定的事件;

3.jpg

4.jpg

改进业务序列图(开个好方子)

改进业务序列图步骤(流程):

1、将“新系统”作为一个业务实体进行整体设计;
2、将“新系统”引入组织现有业务流程;
3、查看其可以改进的流程;
4、评估改进结果;

了解业务组织现状的目的—发现流程中的改进点:

信息自动流转(自动化)
封装复杂业务逻辑(封装业务工人的行为)
职责的转移(银行员由操作点钞机到取款机)
访问和操作业务对象(员工管理系统、客户管理系统)

业务序列图和改进业务序列图的价值:

业务序列图战线企业内现有的业务流程,暴露问题,为优化提供直观依据。
改进业务序列图,可以提前模拟出新系统的出现,将对组织现行的业务流程造成哪些影响,可以提前评估新系统的可行性或提前进行相应的准备工作,实现安全平稳的组织改进。

业务建模结果复核目的(所有参与者签字确认):

完善业务建模成果,寻找是否有遗漏或者错误的地方进行修正,若问题明显,就需要迭代回去继续做业务建模工作
关键干系人在信息和意见上达成一致,并共同签字确认,作为下一阶段启动的标志;

需求分析:

需求分析的几种主流方法:

原型法;原型法是指在获取一组基本的需求定义后,利用高级软件工具可视化的开发环境,快速地建立一个目标系统的最初版本,并把它交给用户使用。补充和修改,在进行新的版本开发,反复进行这个过程,直到得出系统的“精髓解”,即用户满意;
用例法:由软件需求分析到最终实现的第一步,它描述人们如何使用一个系统。用例视图显示谁是相关的用户、用户希望系统提供什么样的服务,以及用户需要为系统提供的服务,以便使系统的用户更容易理解这些元素的用途,也便于软件开发人员最织实现这些元素。用例图在各种开发活动中被广泛的应用,但是它最常用来描述系统及子系统。

域建模:

域建模的意义:

为项目创建一个术语表。确保项目中的每个人都能以清晰一致的术语来理解和交流问题领域
域建模比普通的项目术语表优良的地方体现在:以图的方式清晰地显示出不同术语间的关系(见少理解偏差)
域模型图将通过不断修正完善逐步演化为最终的静态类图。

域建模的步骤:

仔细阅读需求文档,提取出名词和名词短语
排除列表中的重复、相似的术语
排除超出系统范围的术语
画出第一版域模型图
整理第一版域模型;

5.jpg

6.jpg

域模型之间的关系:

泛化:一般元素和特殊元素的关系
关联:两个类之间存在着某种语义上的联系。

高级话题:域建模的重要原则

不要花费太多的时间纠缠在最初的域建模工作上(几小时即可)
不要把域模型错误地认为是数据模型
在用例分析千做域建模,以避免命名混淆
不要指望最终的类视图和域模型图完全匹配,但它们在很大程度上应该是类似的
不要把与界面相关的类加入域模型中

用例分析:系统功能性需求分析的好工具;

系统用例建模的步骤

绘制系统用例图
编写系统用例描述
更新域模型

系统用例建模的意义:

系统需求分析的目的是把视角从业务组织转向新系统,站在最终用户及其它干系人的角度看问题;
吸引用例是对(新)系统为系统执行者提供的价值的建模;

业务用例VS系统用例:

业务用例:

例对银行进行业务建模,研究对象是银行,用于分析现有业务的利与弊;

7.png

系统用例:

对银行的软件系统进行系统建模,研究对象是银行的软件系统,用于分析新系统所带来的价值;

8.png

绘制系统用例图流程:

确定系统边界(系统包含功能与不包含的功能之间的界限;通俗来讲就是分割出系统内和系统外:系统内:需要我们投入大量的精力进行建设;系统外:需要我们考虑与他们的接口)
识别系统执行者(执行者是在系统外,透过系统边界,与系统进行有意义交互的任何事物;如人,系统,硬件设备;)
识别系统用例(1、用例是系统执行的一系列动作,这些动作生成特定执行者可观测的有价值的结果;2、用例是执行者通过系统达到的某个目标 ,例如:取款)
确定用例间的关系(扩展、包含、泛化)

扩展关系:将基用例中一段相对独立并且可选的动作,用扩展用例加以封装,再让他从基用例中声明的扩展点上

包含:使用包含用例来封装一组跨越多个用例的相似动作,以便复用;

泛化:子类继承父类;

9.jpg

系统用例的高级话题:

用例的命名:用例名称必须是动宾短语,采用域建模中的名词术语,慎用弱动词弱名词--会掩盖真正的业务(弱动词:进行、使用、复制;弱名词:数据、报表、表格)
用例不等于功能:(描述事物的三个出发点:结构、功能、价值)
用例不等于步骤:用例是执行者对系统的一个愿望(完成这个愿望可能需要经过很多步骤,但任何步骤不能够完整的反映执行者的目标)
用例与愿景目标(所有用例应该都能追溯到远景目标;所有的愿景目标都应有对应的用例实现)
怎么处理登录
用例分包(当存在大量用例时可以对用例进行分包:按执行者分包,按主题分包、按开发团队分包、按发布情况分包)
不要滥用用例关系

10.jpg

编写系统用例描述:

干系人利益:用例体现干系人利益的平衡点
基本路径:客户最想看到的、最关心的路径;把基本路径单独分离,凸显用例的核心价值;与扩展路径相比,更为有序;
扩展路径:系统要处理的意外和分支;与基本路径相比,更为无序;
业务规则:注意事项-不要涉及页面细节,基本与扩展分开,不要假想系统不能负责的事情;

11.jpg

用例描述的作用:

系统用例图描述总体,系统用例文档描述细节
每个系统用例必须对应有系统用例描述;

12.jpg

完整的用例文档:(完整不等于必需)

用例编号:用例名
执行者
前置条件:开始用例前系统及其环境的状态;形式:必须是系统能检测到的;内容:不涉及到涉众的利益;
后置条件:用例成功结束后系统应该具备的状态;
干系人利益
基本路径
扩展路径
字段列表:可以用自然语言,也可以用表达式;+:数据序列;【】:可选项;{}:多个;{| | |}:可能取值;A=B:把B的结构赋给A;
业务规则
设计约束:必须来自于干系人;界面样式,报表,平台,语言,外系统接口;

非功能性需求(系统可以把某项功能做到什么程度):

功能性需求:系统可以做什么(人无我有);
非功能性需求:系统可以把某项功能做到什么程度(人有我优);

软件产品的典型非功能性需求:

可靠性(Reliability):系统在一定时间内,在一定条件下无故障地执行指定功能的能力;
可用性(Usability):一个产品可以被特定的用户在同特定的上下文中,有效、高效并且满意得达成特定目标的程度;
性能(Performance):系统实现预期功能的能力的特性
可支持性(Supportability):系统在故障解决和系统升级方面的能力

13.jpg

SRS(软件需求规格书):正确定、必要性、优先级、明确性、可测性、完整性、一致性、可修改性;

需求评审:

临时评审:在日常沟通中做回顾确认;
轮查:交叉交换文档产物,互相提出意见
结对编程
走查
小组评审
审查

14.png

15.jpg

需求审查:主要阶段

规划:谁参加?评审什么
总体会议(会前会):召集参加评审会的所有成员开一个简短的会议,讨论、明确要评审的内容、评审的要点、评审时所需的资料、缺陷检查表
准备:评审人员提前阅读和准备,才能提出有价值的建议
审查会议:暴露问题、讨论问题,待审查文档应该符合;
返工:没有返工的评审必然沦为“形式主义”。审评中发现的错误必须得到重视和回应
跟踪:解决问题:对评审提出的问题进行解决;  避免问题再次出现:对问题进行分类,因果分析,找到问题的深层次原因;

需求评审确认需求分析结果,然后才能迚入设计阶段。

用例分析强调站在用户角度看待问题,而设计强调的是站在技术人员角度去看问题,如何衔接两种角度的转换?-------健壮性分析;

健壮性分析的优点:

用例的对象化图示,将用例和对象衔接起来。
指出了参与用例场景的对象相互之间如何交互
确保用力文本的正确性,从而提供了健康性检查
帮助确保用例考虑了所有必需的扩展路径,从而提供了完整性和正确性检查;
让你能够持续发现对象;

健壮性分析技术两个主要的价值:

帮助完善用例分析结果
完善域模型,做为需求分析走向系统设计的过度技术;

健壮性分析中的三种元素:

边界类:与用户交互的对象,系统和外部世界的界面;
实体类:现实世界存在的实体对象,域模型中的类,它常对应于数据库表和文件。
控制器类:边界和实体间的“粘合剂”,将边界对象和实体对象关联起来,它包含了大部分应用逻辑,他们在用户和对象之间架起一座桥梁。控制对象中包含经常修改的业务规则和策略。

16.jpg

健壮性分析中的三种元素的交互规则:

执行者只可以和边界对象通话;
边界对象和控制器可以通话;
控制器可以和另一个控制器通话
控制器可以和实体通话

健壮性分析的步骤:

创建一个空的健壮性图
直接将用例文本粘贴到图上(基本路径和扩展路径)
从基本路径的第一句话画健壮性图
贯穿整个用例基本路径,一次一个句子,画执行者、适当地边界对象和实体对象以及控制器,和各元素之间的连线
将每一个扩展路径画在健壮性图上,并以红色标示出;

健壮性分析的高级话题:

优化健壮性分析图
完善用例描述
健壮性分析的9项指导建议:
1、将用例文本直接粘贴到健壮性图上
2、从域模型中提取实体对象,如果发现之前有缺漏,则补充上
3、在画健壮性图时修正之前用例中模糊的地方
4、将每一个屏幕对象定义为边界对象,并进行清晰的命名
5、切记控制器对象大部分时候对应的是逻辑操作方法,偶尔也会对应真实的控制器类对象
6、再画健壮性图时,如果调用另一个用例,就直接在图上画出调用此用例即可;
7、切记健壮性分析描绘的是概要设计而不是详细设计;
8、健壮性图上的边界对象和实体对象会转化为时序图中的对象实例,而控制器对象会转化为消息或控制器实例。
9、切记健壮性图是用例的“对象化图示”,它的目的是优化和完善用例文本和域模型。

更新域模型:

基于健壮性分析更新域模型;

17.jpg

关键设计:

  • 意义:通过寻找对象之间的交互关系,进而进行方法分配

  • 方法:基于用例图、用例描述和健壮性图,采用序列图来描述参与者、边界、实体之间的交互;

  • 步骤

 将现有的域模型直接作为第一版静态类模型
 基于用例描述和健壮性分析结果,画出每个用例的序列图;
 1、健壮性图中的控制类会转化为方法
 2、如果也转化为控制类,那么就添加到类图中
 整理静态类图和序列图
 关键设计复核,迭代更新用例图、类图和序列图;
  • 如何决定控制器类分配给哪个类

高内聚、低耦合,是判断设计好坏的标准。

目的:使得模块的“可重用性、移植性大大增强;”

 高内聚:指一个软件模块是由相关性很强的代码组成,只负责一项任务,也就是常说的单一责任原则;
 低耦合:指一个软件模块与模块之间的接口,尽量少而简单。如果某两个模块间的关系比较复杂的话,最好首先考虑进一步的模块划分,降低相互的依赖。这样有利于修改和组合;
  • 关键设计复核方法:

形式:面对面

参会人:分析设计师、专家

被申材料:用例图、用例描述、类图、序列图(为什么没有健壮分析图)

结果:参会人员都必须要签字

详细设计:

(编码->测试->部署->维护->升级)

技术架构及相关考虑:

选择开发语言
网络拓扑及安全(各种设备如何连)
体系结构(三层:用户界面、业务逻辑、数据访问)
硬件支持环境
软件支持环境(数据库、交互设计)

18.jpg

19.jpg

详细设计范例:

  • 序列图

  • 组件图

  • 部署图

20.jpg

21.jpg

软件过程之----Scrum敏捷开发

敏捷宣言:是敏捷起源的基础,由4个简单的价值挂组成,敏捷宣言的签署推动了敏捷运动,敏捷宣言本质是揭示一种更好的软件开发方式,启迪人们重新思考软件开发中的价值和如何更好的工作;敏捷是一种以人为核心、迭代、循序渐进的开发方法;

个体和交互            胜过       过程和工具
可以工作的软件         胜过       面面俱到的文档
客户合作              胜过       合同谈判
响应变化              胜过       遵循计划

虽然右项也具有价值,但我们认为左项具有更大的价值

对敏捷常见的误解:

误解一: 敏捷开发意味着可以不需要文档、设计和计划
误解二: 敏捷只是一些优秀实践,或者是优秀实践的结合
误解三: 敏捷只适用于小项目开发
误解四: 敏捷只会对研发产生改变
误解五: 管理者不需要亲自了解敏捷,只需要管理上支持就可以了
误解六: 引入敏捷只需要按照既定的步骤去做就可以了
误解七: 敏捷是CMM 的替代品,是另一种流程
误解八: 敏捷只注重特性的快速交付,在敏捷下架构不重要了

敏捷=理念+优秀实践+具体应用

22.png

  • 理念

 聚焦客户价值,消除浪费
 激发团队潜能,加强协作
 不断调整以适应变化
  • 优秀实践:业界敏捷优秀实践概览;

23.jpg

  • 具体应用:因地制宜选择适合的敏捷实践

24.jpg

SCRUM是当前最流行的敏捷过程;

敏捷团队的角色职责:敏捷团队包括三个核心角色

25.jpg

PO特性:领域能力、人际交往能力、决策力、责任心
SM特性:见多识广、善于提问、有耐心、有协作精神、保护团队、公开透明
开发团队的特性:自组织、跨职能的多样化和全面化、T型技能、透明沟通、团队规模适中、专注、有责任感、团队成员稳定

敏捷软件开发过程:

PO和开发团队对产品业务目标形成共识
PO建立和维护产品需求列表(需求会不断新增和改变),并进行优先级排序
PO每轮迭代前,Review需求列表,并筛选高优先级需求进入本轮迭代开发
开发团队细化本轮迭代需求,并按照需求的优先级,依次在本轮迭代完成
开发团队每日站立会议,特性开发、持续集成,使开发进度真正透明
PO对每轮迭代(2--4周)交付的可工作软件进行现场验收和反馈
团队内部进行本轮冲刺的过程回顾,发现可改进的方面;

敏捷工作件

  • 产品backlog(经过优先级排序的动态刷新的产品需求清单,用来指定发布计划和迭代计划)

好处:

 通过需求的动态管理应对变化,避免浪费;
 易于优先交付对用户价值高的需求;

关键要点:

 清楚表述列表中每个需求任务对用户带来的价值:作为优先级排序的重要参考;
 动态的需求管理而非“冻结”方式:PO持续性地管理和及时刷新需求清单,在每轮迭代前,都要重新筛选出高优先级需求进入本轮迭代。
 迭代的需求分析过程,而非一次性分析清楚所有需求:只对近期迭代要做的需求进行详细分析,其他需求停留在粗粒度;

26.jpg

好的产品功能列表具有DEEP特性:

 详略得当
 涌现的:目的是适应变化,产生涌现的原因有客户的新想法,竞争对手的行动,意外的技术问题等
 做过估算
 排列优先级
  • 迭代backlog(迭代backlog是团队在一轮迭代中的“任务”清单,是团队的详细迭代开发计划)

好处:

将需求分解成更细小的任务,利于对迭代内进度进行精确控制;剩余工作量可用来实时跟踪团队当前进展;

关键要点:

 “任务”由团队成员自己分解和定义,而不是上级指派,支撑需求完成的所有工作都可以列为任务;
 任务要落实到具体的负责人;
 任务粒度要小,工作量大于两天的任务要进一步分解;
 用小时作为任务剩余工作量的估计单位,并每日重估计和刷新;
  • 完成标准(衡量团队工作的完成标准)

  • 任务看板

  • 燃尽图(Y轴工作,X轴时间,理想情况下,改图是一个向下的曲线)

27.jpg

敏捷管理实践:

迭代计划会议:充分参与、相互承诺、确定内部任务;
迭代执行:规划、管理、执行、沟通工作,以确保创建可工作的、经过测试的特性;
每日立会:昨天做了啥,今天计划干啥,需要啥帮助更加高效的工作;
迭代评审会议:每次迭代开发结束时举行,通过演示可工作的软件检查需求是否满足客户需求;由SM组织,PO和用户代表负责验收、Team负责演示可工作的软件;
迭代回顾会议:哪些做得好,哪些工作还可以做得更好,在下次迭代在哪些方面进行改进;

迭代周期通常为2–4周,对应的规划时间为4–8小时;

敏捷工程实践技术:

用户故事
结对编程
TDD(测试驱动开发):在编写任何代码之前,首先编写定义代码功能的测试用例,编写的代码要通过用例,并不断进行重构华优化,TDD要求测试可以完全自动化运行;
持续集成:
CodeReview:
发布规则

用户故事:

体现客户(用户)价值,轻量级的点位符
3C特质
1.卡片(Card),作为XX,我希望XXX,这样可以XXX;
2.对话(Conversation):不描述到细节,由团队通过持续性对话细化,激发大家的深度理解;
3.确认(confirmation):有明确的验收标准
用户故事级别
史诗故事(1--2月)
特性故事(1--2周)
冲刺故事(1--2天)
任务(几个小时):可分工执行

用户故事的标准:

独立
可协商
有价值
可估算
大小合适
可测试

敏捷有哪些改变:

  • 管理者的改变(学会放松“控制”)

28.jpg

  • 团队成员的转变(从被动到主动)

29.jpg


作者:可乐加冰灬

原文链接:https://blog.csdn.net/qq_42936836/article/details/103666276

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   测试左移  对于需求,代码,质量,效率,《代码大全》很早就从软件工程实践角度说明了一个bug产生的不同阶段,修复一个bug的成本从需求阶段,设计阶段,测试阶段有着天壤差别。不仅从成本上,从修复难度,引入新问题的可能性,沟通成本,团队状态也会有很大的影响。由于大部分bug都是在写代码的阶段就引入的,测试左移本质上可以尽早的发现,预防问题,使用必要的测试手段在软件开发周期的早些阶段发现问题。测试越是集中到后期,尤其是集成测试时进行功能测试,产品的复杂度就越高,出现问题后,越难以定位bug,修复时间花费越长。所以,bug越早被发现,越节约成本。这也是测试左移被普遍接受的原因。  测试左移的手段:...
            0 0 822
            分享
          • 性能测试用例主要分为预期目标用户测试,用户并发测试,疲劳强度与大数据量测试,网络性能测试,服务器性能测试五大部分,具体编写测试用例时要根据实际情况进行裁减,在项目应用中遵守低成本,策略为中心,裁减,完善模型,具体化等原则;一、WEB 全面性能测试模型Web 性能测试模型提出的主要依据是:一种类型的性能测试可以在某些条件下转化成为另外一种类型的性能测试,这些类型的性能测试的实施是有着相似之处的;预期指标的性能测试系统在需求分析和设计阶段都会提出一些性能指标,完成这些指标的相关的测试是性能测试的首要工作之一,这些指标主要诸于“系统可以支持并发用户200个;”系统响应时间不得超过20秒等,对这种预先...
            12 14 2804
            分享
          • 1 引言最近也是临近年底,各位小伙伴也是蠢蠢欲动,小鱼最近也是没闲着,除了加班,还在做一项"公益活动":one by one 的指导想要体现自己价值的小伙伴。在面试指导过程中,小鱼发现,即使有10N+工作经验的小伙伴,其实对测开的理解,还停留在3N左右的经验上,这不禁让小鱼我惊叹(下巴没惊掉)…所以,小鱼也是决定,开一个专栏,来详细分享测开领域的专业知(zi)识(shi)~~我们都知道,测试领域的测试方法,很多种(多的不少于100种),所以那些所谓的说测试很简单的人,你就呵呵 他 就行!!而在这100多种测试方法中,有三种,是能非常体现出高效产出比的。我们今天,就来聊一聊 ...
            1 0 29712
            分享
          • 数据库事务事务是什么是数据库操作的最小工作单元,是作为单个逻辑工作单元执行的一系列操作;这些操作作为一个整体一起向系统提交,要么都执行、要么都不执行;事务是一组不可再分割的操作集合。事务的四大特性原子性:事务是数据库的逻辑工作单位,事务中包含的各操作要么都做,要么都不做一致性:事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。隔离性:一个事务的执行不能被其它事务干扰。即一个事务内部的操作及使用的数据对其它并发事务是隔离的,并发执行的各个事务之间不能互相干扰。持续性:也称永久性,指一个事务一旦提交,它对数据库中的数据的改变就是永久性的。接下来的其它操作或故障不应该对其执行结果有任...
            12 12 1742
            分享
          •   之前我们讲过,测试工程师的4层技术发展路线都需要掌握哪些技能。学而优则仕,今天我们来说说如果想做某个行业的专家应该掌握哪些技能。  如果你对测试技术不感兴趣,但对某领域的业务兴趣浓厚,可以考虑行业专家路线。  由于测试工程师对产品和业务很熟悉,成为专业的产品经理和业务专家,而且目前很多公司在Beta测试时需要专门的业务工程师或业务专家参与测试。  且配置管理和质量管理也是软件测试工程师职业的一个发展方向:测试工程师——业务测试专家/测试咨询专家/用户体验专家/产品设计专家/软件质量管理专家/项目经理。  晋升方法  大厂  如果你是在大厂,了解公司相关晋升制度,寻求晋升机会,与领导或人力资...
            0 0 819
            分享
      • 51testing软件测试圈微信