软件评测师知识点整理Part1
- 格式:pdf
- 大小:1.38 MB
- 文档页数:10
软件评测师知识点
以下是软件评测师需要掌握的一些知识点:
1. 软件测试基础知识:了解软件测试的基本概念、方法、流程和原则,熟悉各种测试技术和工具。
2. 软件开发生命周期:了解软件开发过程中不同阶段的任务和活动,如需求分析、设计、编码、测试和维护等。
3. 软件质量管理:了解质量管理的基本原理和方法,包括质量标准、质量保证、质量控制、缺陷管理等。
4. 编程知识:具备一定的编程能力,能够理解和修改源代码,熟悉至少一种编程语言。
5. 系统架构和基础设施:了解不同操作系统、数据库、网络协议等的基本原理和运行机制。
6. 测试工具和技术:掌握常用的测试工具,如静态代码分析工具、自动化测试工具、性能测试工具等,熟悉不同的测试技术,如黑盒测试、白盒测试、灰盒测试等。
7. 缺陷管理和跟踪:能够识别、记录和跟踪软件缺陷,并能够与开发人员有效地沟通和协调解决问题。
8. 常见的软件开发方法和框架:了解敏捷开发、瀑布模型、迭代开发等常见的开发方法和框架,熟悉它们的优缺点和适用条
件。
9. 业务领域知识:根据具体的软件项目,了解相关的业务领域知识,以便更好地理解用户需求和进行测试。
10. 沟通和协作能力:与开发人员、产品经理、用户等进行有效沟通和协作,能够准确理解需求,并提供准确的测试结果和建议。
以上是软件评测师需要掌握的一些知识点,希望对你有帮助。
软件评测师教程考点梳理(一)软件评测师考试属于全国计算机技术与软件专业技术资格考试中的一个中级考试。
希赛小编为大家整理了软件评测师教程中几个重要的知识点精讲,希望对大家2017年备考能有所帮助。
面向对象软件的集成测试(1)传统的自顶向下或自底向上的集成测试策略在面向对象软件的集成测试中无意义,OO软件的集成测试需要在整个程序编译完成后进行,面向对象程序具有动态特性,程序的控制流无法确定,只能对编译完成的程序做基于黑盒子的集成测试。
(2)面向对象软件的集成测试两种策略基于线程的测试(Thread based testing):集成对响应系统的一个输入或事件所需的一组类,每个线程分别进行集成和测试,应用回归测试以保证没有产生副作用。
基于使用的测试(Use based testing):通过测试那些几乎不使用服务器类的的类(独立类)而开始构造系统,在独立类测试完成后,下一层中使用独立类的类(依赖类)被测试,这个依赖类层次的测试序列一直持续到构造完整个系统。
(3)测试目的:能够检测出相对独立的,单元测试无法检测出的,那些类相互作用时才会产生的错误,只关注于系统的结构和内部的相互作用。
(4)面向对象软件的集成测试过程第一步:静态测试针对程序的结构进行,检测程序结构是否符合设计要求。
通过使用测试软件的‘可逆性工程’功能,得出源程序的类系统图和函数功能调用关系图,与OOD结果相比较,检测程序结构和实现上是否有缺陷,检测OOP 是否达到了设计要求。
第二步:动态测试根据静态测试得出的函数功能调用关系图或类关系图作为参考,按照如下步骤设计测试用例,达到如下测试覆盖标准。
设计测试用例步骤:选定检测的类,参考OOD分析结果,确定出类的状态和相应的行为;确定覆盖标准;利用结构关系图确定待测类的所有关联;根据程序中类的对象构造测试用例,确认使用什么输入激发类的状态,使用类的服务和期望产生什么行为等,还要设计一些类禁止的例子,确认类是否有不合法的行为产生。
《软件评测师学习笔记一》二、软件测试基础1.度量。
命周期的过程。
2.软件测试只能证明软件有错误,不能证明软件没有错误;23要从软件在内部、外部和使用中的表现来衡量。
4.质量保证(QA QA跟进中;软件测试的重点不在于此,运行软件,以找出问题,报告质量。
软件测试不可能无休止地测下去,原因在于:123(关键在于对程序内部结构的态度上)6.进行测试寻找错误,而需求分析阶段隐藏的问题到后期的验收测试才被发现;优点是测试与开发过程是同步进行的,有利于测试的及早介入与执行;缺点是对开发阶段需要有明确的起点和终点,这点在实际情况中很难做到这点;复的。
只要测试条件成熟了,测试准备活动完成了,测试执行活动就可以进行了。
针对单独程序片段进行互相分离的编码和测试,之后频繁的交接通过集成最终合成为可执行的程序。
特点:将开发和测试的生命周期整合在一起,对每一个交付的开发结果都进行一定方式的测试,设计阶段是做测试计划和测试设计的最好时机,程序片段一旦编写完成就会立即进行测试,让验收测试和技术测试保持相互独立。
8.1 所有的软件测试都应追溯到用户需求8.2尽早地和不断地进行软件测试8.3 完全测试是不可能的,测试需要终止8.4 测试无法显示软件潜在的缺陷8.5 充分注意测试中的群集现象8.6 程序员应避免检查自己的程序8.7 尽量避免测试的随意性9.测试模型的使用:灵活运用各种模型的优点,在W模型的框架下运行H模型的思想进行独立测试,并同时将测试和开发紧密结合,寻找恰当的就绪点开始测试并反复迭代测试,最终保证按其完成预订目标。
10.软件设计阶段的评审:10.1 需求评审《需求说明书评审规范》10.2 设计评审《概要设计说明书评审规范》和《详细设计说明书评审规范》10.3 编码评测《编码规范》11.软件开发阶段的测试:12345、11.2(又叫渐增式组装方式)、11.4 系统测试11.5 验收测试验收测试是以用户为主,软件开发人员和质量保证人员也应参加的测试。
中级软件评测师知识点总结在成为一名中级软件评测师之前,我们需要掌握一系列的知识点和技能。
这些知识点涉及到软件评测的各个方面,包括测试方法、测试策略、测试工具等。
本文将对中级软件评测师需要掌握的主要知识点进行总结,帮助读者理清思路,更好地为软件评测工作做准备。
I. 软件评测概述A. 软件评测的定义和目的1. 软件评测的定义2. 软件评测的目的B. 软件评测的分类1. 静态评测2. 动态评测C. 软件评测的生命周期1. 规划与准备阶段2. 设计与实施阶段3. 执行与记录阶段4. 分析与报告阶段5. 完成与总结阶段II. 软件测试方法A. 黑盒测试1. 等价类划分法2. 边界值分析法3. 错误推测法B. 白盒测试1. 语句覆盖2. 判定覆盖3. 条件覆盖C. 灰盒测试1. 划分测试2. 性能测试3. 兼容性测试III. 软件测试策略A. 功能测试1. 功能点测试2. 边界测试3. 异常测试B. 性能测试1. 压力测试2. 负载测试3. 并发测试C. 安全性测试1. 授权测试2. 认证测试3. 输入验证测试IV. 软件测试工具A. 编码规范扫描工具1. 静态代码分析工具2. 代码质量工具B. 自动化测试工具1. 单元测试工具2. 页面测试工具3. 性能测试工具C. 缺陷管理工具1. 缺陷跟踪工具2. 缺陷分析工具3. 缺陷报告工具V. 软件评测流程A. 测试计划制定1. 确定测试目标2. 制定测试计划3. 规划测试资源B. 测试用例设计1. 确定测试需求2. 设计测试用例3. 执行测试用例C. 缺陷管理与跟踪1. 发现缺陷2. 编写缺陷报告3. 跟踪缺陷解决过程D. 测试执行与结果分析1. 执行测试用例2. 分析测试结果3. 评估测试覆盖率E. 测试报告编写与总结1. 编写测试报告2. 总结测试经验3. 提出改进建议结语:本文概述了中级软件评测师需要掌握的关键知识点,包括软件评测概述、软件测试方法、软件测试策略、软件测试工具以及软件评测流程。
软件评测师考试知识点软件评测师考试呀,那可有点意思呢。
这考试的知识点就像一个装满宝藏的大箱子,我们得一个一个把宝贝掏出来看看。
先说软件评测的基本概念吧。
这就像是给软件做一个全面的体检,看看它有没有啥毛病。
你得知道啥是软件评测,它可不是简单地玩一玩软件就完事儿了。
它要从好多方面去检查,像软件的功能对不对呀,性能好不好呀。
比如说,一个购物软件,它的下单功能得顺畅吧,要是点个下单半天没反应,那这软件的功能就有问题了。
再讲讲软件评测的流程。
这流程就像做菜一样,有一道道工序。
最开始呢,得先确定评测的目标,就好比你要做一道红烧肉,你得先知道你想做出啥样的红烧肉,是甜口的还是咸口的。
然后就是设计评测方案,这就像准备食材和调料,你得想好要用啥方法去评测这个软件,用哪些工具呀。
接下来就是执行评测了,这时候就像开始做菜,按照方案一步一步来。
最后呢,得给出评测结果和报告,就像把做好的菜端出来,告诉大家这菜做得咋样。
软件评测师还得懂软件的质量特性。
比如说可靠性,这软件得稳定呀,不能老是崩溃。
就像我们人一样,要是身体老是出毛病,那可不行。
还有易用性,软件得让大家用着顺手,不能搞得特别复杂,像那种让人看一眼就头疼的操作界面,肯定不符合易用性的要求。
软件评测的方法也不少呢。
有黑盒测试,这就像给软件一个黑盒子,你只看它的输入和输出,不关心它里面是咋运作的。
还有白盒测试,这就是把软件的盒子打开,看看里面的代码逻辑啥的。
这两种方法都有自己的用处,就像不同的工具,在不同的情况下用不同的工具才能把活干好。
学习这些知识点呀,就像在一个神秘的软件世界里探险。
有时候会觉得有点难,就像在迷宫里找路,但是一旦搞懂了,就会特别有成就感,感觉自己就像一个软件世界的小侦探,能把软件的问题都找出来呢。
软件测试各章知识点总结第一章:软件测试概述软件测试是指为了发现软件中的错误和问题,评估软件质量,确保软件功能正常的过程。
软件测试的目的是验证软件是否符合用户的需求和期望,以及确保软件的质量达到一定的标准。
软件测试在整个软件开发过程中起着非常重要的作用,它能够帮助开发团队及时发现和修复问题,提高软件的稳定性和可靠性。
软件测试的基本原则包括全面性、系统性、可靠性和性能。
全面性指测试应该覆盖所有可能的情况,包括正常情况和异常情况;系统性指测试应该以系统为单位进行,而不是单个模块或功能;可靠性指测试结果应该是可靠的、准确的;性能指测试应该关注软件的性能表现。
软件测试的方法可以分为静态测试和动态测试。
静态测试是指在软件开发的早期阶段进行的,包括代码审查、设计审查和使用静态分析工具进行分析。
动态测试是指在软件开发的后期阶段进行的,包括单元测试、集成测试、系统测试和验收测试。
软件测试的类型包括功能测试、性能测试、安全测试、兼容性测试、可靠性测试等。
功能测试是验证软件功能是否符合用户需求的测试;性能测试是验证软件在各种条件下的性能表现的测试;安全测试是验证软件的安全性和可靠性的测试;兼容性测试是验证软件在不同平台和环境下的兼容性的测试;可靠性测试是验证软件的稳定性和可靠性的测试。
第二章:软件测试流程软件测试的流程包括测试计划、测试设计、测试执行、测试评估和测试报告。
测试计划是在测试开始之前进行的,包括确定测试目标、测试方法、测试资源和测试进度。
测试设计是在测试执行之前进行的,包括确定测试用例、测试数据和测试环境。
测试执行是在测试设计之后进行的,包括执行测试用例、记录测试结果和发现问题。
测试评估是在测试执行之后进行的,包括评估测试结果、计算测试覆盖率和分析测试效果。
测试报告是在测试评估之后进行的,包括总结测试结果、提出改进建议和撰写测试报告。
软件测试的自动化是指利用自动化测试工具进行软件测试的过程。
自动化测试包括测试脚本的编写、测试数据的准备和测试环境的配置。
软件评测师复习知识汇总第一部分:软件评测知识第1章基本概念和知识点1.软件质量与软件测试软件测试:在规定条件下对程序进行操作,以发现错误,对软件质量进行评估,包括对软件形成过程的文档、数据以及程序进行测试软件质量:软件特性的总和,软件满足规定或潜在用户需求的能力2.软件测试与质量保证软件测试只是质量保证工作中的一个环节,软件质量保证与软件测试是软件质量工程的两个不同层面的工作;质量保证:通过预防、检查与改进来保证软件质量,采用全面质量管理和过程改进的原理来开展质量保证工作,主要关注软件质量的检查与测试,主要着眼于软件开发活动的过程、步骤和产特软件测试:通过执行软件来,对过程中的产物(开发文档和程序)进行走查,发现问题,报告质量3.软件测试的目的测试是程序的执行过程,目的在于发现错误;一个好的测试用例在于发现了至今未发现的错误;一个成功的测试是发现了至今未发现的错误的测试;4.软件测试原则所有的软件测试都应追溯到用户需求应当把“尽早地和不断地进行软件测试”作为测试者的座右铭完全测试是不可能的,测试需要终止测试无法显示软件潜在的缺陷;充分注意测试中的群集现象程序员应避免检查自己的程序尽量避免测试的随意性5.软件测试对象程序开发过程中的各个文档、源程序6.软件测试过程模型-V模型是软件开发瀑布模型的变种,主要反映测试活动与分析和设计的关系;局限性:把测试作为编码之后的最后一个活动,需求分析等前期产生的错误直到后期的验收测试才能发现7.软件测试过程模型-W模型在V模型的基础上,增加于开发阶段的同步测试,形成W模型;测试与开发同步进行,有利用尽早的发现问题局限性:仍把开发活动看成是从需求开始到编码结束的串行活动,只有上一阶段完成后,才可以开始下一阶段的活动,不能支持迭代,自发性以及变更调整8.软件测试过程模型-H模型在H模型中,软件测试过程活动完全独立,贯穿于整个产品的周期,与其他流程并发地进行,某个测试点准备就绪时,就可以从测试准备阶段进行到测试执行阶段;软件测试可以进行尽早的进行;软件测试可以根据被测物的不同而分层次进行9.测试模型使用在实际工作中应灵活地运用各种模型的优点10.单元测试11.集成测试12.确认测试13.系统测试14.验收测试测试内容:根据任务书或合迥、供需双方约定的验收依据文档进行对整个系统的测试与评审,确认是否接收或拒绝系统;15.开发方测试通常也叫‘验收测试’或‘a测试’,在软件开发环境中,开发者检测与证实软件的实现是否满足软件设计说明或软件需求说明的要求16.用户测试在用户的应用环境下,用户检测与核实软件实现是否符合自己预期的要求。
第1题案例题阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】某公司欲开发一套基于Web的通用共享单车系统。
该系统的主要功能如下:1.商家注册、在线支付;后台业务员进行车辆管理与监控、查询统计、报表管理、价格设置、管理用户信息。
2.用户输入手机号并在取验证码后进行注册、点击用车后扫描并获取开锁密码、锁车(机械锁由用户点击结束用车)后 3 秒内显示计算的费用,用户确认后支付、查看显示时间与路线及其里程、预约用车、投诉。
【问题1】(6分)采用性能测试工具在对系统性能测试时,用Apdex(应用性能指数)对用户使用共享单车的满意度进行量化,系统需要满足Apdex指数为0.90以上。
Apdex 量化时,对应用户满意度分为三个区间,通过响应时间数值 T 来划分,T 值代表着用户对应用性能满意的响应时间界限或者说是"门槛" (Threshold) 。
针对用户请求的响应时间,Apdex 的用户满意度区间如下:满意: (0,T]让用户感到很愉快容忍:(T, 4T] 慢了一点,但还可以接受,继续这一应用过程失望: >4T,太慢了,受不了了,用户决定放弃这个应用Apdex的计算如下:Apdex= (小于T的样本数+T~4T 的样本数/2) /总样本数针对用户功能,本系统设定 T=2 秒,记录响应时间,统计样本数量,2 秒以下记录数3000,2~8秒记录数1000,大于8秒500。
请计算本系统的Apdex指数,并说明本系统是否达到要求。
【问题2】(6分),系统前端采用HTML5实现,已使用户可以通过不同的移动设备的浏览器进行访问。
设计兼用行测试矩阵,对系统浏览器兼容性进行测试。
【问题3】(8分)针对用户手机号码获取验证码进行注册的功能,设计4个测试用例。
(假设合法手机号码为11位数字,验证码为4位数字)【解析】正确答案:【问题1】(6分)未达到要求。
因为Apdex = (3000+1000/2)/(3000+1000+500) = 3500/4500 = 0.78 < 0.90.,所以未达到要求。
软件评测师考试考点分析与真题详解(最新版)第1章计算机系统构成及硬件基础知识1.1中央处理器现有的计算机(包括单片机、个人计算机、超级计算机)基本都是冯•诺依曼结构,这种结构将计算机分解成运算器、控制器、存储器、输入/输出设备,不加区别地将指令和数据存储在存储器中,指令、数据、存储地址都以二进制数表示。
计算机运行时,执行的是存储器中的指令。
由程序计数器来控制指令的执行。
1.1.1中央处理器简介中央处理器是计算机的控制、运算中心,它主要通过总线和其他设备进行联系。
另外,在嵌入系统设计中,外部设备也常常直接接到中央处理器(CPU)的外部输入/输出(I/O)脚的中断脚上。
中央处理器的类型和品种异常丰富,各种中央处理器的性能也差别很大,有不同的内部结构、不同的指令系统。
但由于它们都是基于冯•诺依曼结构,基本部分组成相似。
1.运算器运算器的主要功能是在控制器的控制下完成各种算术运算、逻辑运算和其他操作。
一个计算过程需要用到加法器/累加器、数据寄存器或其他寄存器、状态寄存器等。
加法是加法运算器的基本功能,在大多数的中央处理器中,其他计算也是经过变换后使用的,一个位加法的逻辑图如图1-1所示。
其中:、Yi是加数和被加数;是低位进位;是进位;是和。
为完成多位数据加法,可以通过增加电路和部件,简单的加法器能够变成串行、并行加法器,超前进位加法器等。
运算器的位数,即运算器一次能对多少位的数据做加法,是衡量中央处理器的一个重要指标。
2.控制器控制器是中央处理器的核心,它控制和协调整个计算机的动作。
控制通常需要程序计数器、指令寄存器、指令译码器、定时与控制电路,以及脉冲源、中断等共同完成,如图1-2所示。
中央处理器中各组件介绍如下。
(1)指令寄存器(InstructionRegister,IR):显然,中央处理器即将执行的操作码表存放在这里。
(2)指令译码器(InstructionDecoder,ID):将操作码解码,告诉中央处理器该做什么。
1.类与类的几种关系继承指的是一个类(称为子类、子接口)继承另外的一个类(称为父类、父接口)的功能,并可以增加它自己的新功能的能力。
在UML类图设计中,继承用一条带空心三角箭头的实线表示,从子类指向父类,或者子接口指向父接口。
实现指的是一个class类实现interface接口(可以是多个)的功能,实现是类与接口之间最常见的关系。
在UML类图设计中,实现用一条带空心三角箭头的虚线表示,从类指向实现的接口。
依赖就是一个类A使用到了另一个类B,而这种使用关系是具有偶然性的、临时性的、非常弱的,但是类B的变化会影响到类A。
在UML类图设计中,依赖关系用由类A指向类B的带箭头虚线表示。
关联体现的是两个类之间语义级别的一种强依赖关系,比如我和我的朋友,这种关系比依赖更强、不存在依赖关系的偶然性、关系也不是临时性的,一般是长期性的,而且双方的关系一般是平等的。
关联可以是单向、双向的。
在UML类图设计中,关联关系用由关联类A指向被关联类B的带箭头实线表示,在关联的两端可以标注关联双方的角色和多重性标记。
聚合是关联关系的一种特例,它体现的是整体与部分的关系,即has-a的关系。
在UML类图设计中,聚合关系以空心菱形加实线箭头表示。
组合也是关联关系的一种特例,它体现的是一种contains-a的关系,这种关系比聚合更强,也称为强聚合。
在UML类图设计中,组合关系以实心菱形加实线箭头表示。
后几种关系所表现的强弱程度依次为:组合>聚合>关联>依赖。
模块的7种内聚类型1. 偶然内聚或巧合内聚:指一个模块内的各处理元素之间没有任何联系。
2. 逻辑内聚:指模块内执行若干个逻辑上相似的功能,通过参数确定该模块完成哪一个功能。
3. 时间内聚:把需要同时执行的动作组合在一起形成的模块。
4. 过程内聚:指一个模块完成多个任务,这些任务必须按指定的过程执行。
5. 通信内聚:指模块内的所有处理元素都在同一数据结构上操作,或者各处理使用相同的输入数据或产生相同的输出数据。
6. 顺序内聚:指一个模块中的各个处理元素都密切相关于同一各功能且必须顺序执行,前一个功能元素的输出就是下一个功能的输入。
7. 功能内聚:指模块内的所有元素共同作用完成一个功能,缺一不可。
模块间的几种耦合程度:模块间的耦合性是根据模块的外部特征提出的,是对软件系统结构中各模块间相互联系紧密程度的一种度量,也称块间关系。
耦合程度由低到高分为6种:①无直接耦合(不传递任何消息)。
②数据耦合(传递的是值)。
③标记耦合(传递的是数据结构)。
④控制耦合(传递的是控制变量,例如开关、标志等)。
⑤外部耦合(传递的是I/O环境)⑥公共耦合(传递的是在公共数据环境中的数据)。
⑦内容耦合(传递的是一个模块的内部数据,往往出现在汇编语言中)。
模块间联系越紧密,其耦合性越强,模块的独立性越差。
提高模块独立性,降低模块间耦合度的措施是:①在耦合方式上降低模块间接口的复杂性。
模块接口方式不采用直接引用(内容耦合),而采用调用方式(例如过程语句调用);模块接口信息通过参数传递且传递信息的结构尽量简单,不用复杂数据结构(例如过程、指针等),参数个数不宜过多。
②在传递信息类型上尽量使用数据耦合,避免控制耦合,慎用或有控制地使用公共耦合。
模块耦合性从低至高的顺序为:非直接耦合、数据耦合、标记耦合、控制耦合、外部耦合、公共耦合、内容耦合。
软件开发过程中不同图形的使用场景:N-S盒图、PAD图和流程图主要用于表示软件模块的执行过程;而E-R图是在对系统进行建模时采用,用于表示实体和实体之间的联系。
软件产品使用质量特性包括:有效性、生产率、安全性、满意度。
程序描述语言是一种描述算法设计和处理细节的语言,用它书写的程序就是伪代码。
它是详细设计阶段的重要描述工具。
软件测试过程:测试计划、测试设计与开发、测试实施、测试评审与测试结论软件评价过程的特性包括:可重复性:同一评价者按照同一评价规格说明书对同一产品进行评价,应产生同一种可接受的结果。
可再现性:不同评价者按照同一评价同一评价规格说明对同一产品进行评价,应产生同一种可接受的结果。
公正性:评价应该不偏向任何特殊的结果客观性:评价结果应客观事实评价过程的活动组成:确定软件评价需求、编制评价规格说明书、制定评价计划、执行评价计划、作评价结论。
软件风险控制包括:风险识别、风险预测、风险评估、风险控制(又包括:风险降低、风险管理计划、风险化解)UML的图分为:结构图和行为图。
结构图:类图、组合结构图、构件图、部署图、对象图、包图;行为图:活动图、用例图、状态图、交互图(是顺序图、通信图、交互概览图、时序图的统称)系统可维护性的评价指标: 可理解下、可测试性、可修改性。
软件配置管理基线种类:功能基线、分配基线、产品基线。
软件工程产品质量由:质量模型、外部度量、内部度量、使用质量度量四部分组成;内部质量、外部质量、使用质量的观点在软件生存周期中是变化的。
软件外部质量和内部质量模型:功能性、可靠性、易用性、效率、维护性、可移植性1)功能性:适合性、准确性、互操作性、保密安全性、功能依从性2)可靠性:成熟性、容错性、易恢复性、可靠依从性3)易用性:易理解性、易学性、易操作性、吸引性、易用依从性4)效率:时间特性、资源利用、效率依从性5)维护性:易分析性、易改变性、稳定性、易测试性、维护依从性6)可移植性:适应性、易安装性、共存性、易替换性、可移植依从性软件使用质量模型包括:有效性、生产率、安全性、满意度用户文档的测试关注的要点:读者群、术语、正确性、完整性、一致性、易用性、图表与界面截图、样例和示例、语言、印刷与包装帮助文档测试关注要点:准确性、帮助是文档编写和程序编写的结合、帮助索引、超链接、链接的意义、帮助的风格。
用场景分析法设计测试用例的步骤:第一步:根据说明画出流程图,确定基本流和备选流第二步:根据基本流和各项备选流确定场景第三步:对每一个场景生成测试用例第四步:对生成的所有用例进行重新复审,去掉多余的测试用例,确定测试用例后,对每一个测试用例确定测试数据值。
测试用例的作用是:1.检验软件是否满足客户的需求2.体现测试人员的工作量3.展现测试的设计思路,可以通过阅读他人的测试用例,学习测试用例的设计方法和思路测试用例一般包含:用例编号、用例名称、测试背景、前置条件、优先级、重要性、测试数据、测试步骤、预期结果、实际结果、备注。
数据流网(DFD)、数据字典、判定表和判定树是结构化分析常用的工具。
程序流程图、N-S图、PAD图是详细设计过程中常用的图形工具计算机系统的硬件结构主要由四部分组成:控制器、运算器、内存和输入输出设备。
运算器和控制器统称为处理器,也就是CPU。
控制器中含有状态寄存器、指令寄存器、程序计数器、指令译码器、时序部件。
程序计数器是用于存放下一条指令所在单元的地址的地方运算器包括:算术逻辑单元、累加寄存器、数据缓冲寄存器、状态条件寄存器组成,主要完成算术和逻辑运算。
总线控制器主要用于控制CPU的内外部总线,包括地址总线、数据总线、控制总线等。
操作数寻址方式:隐含寻址:这种类型的指令,不是明显地给出操作数的地址。
而是在指令中隐含着操作数的地址。
立即寻址:指令的地址字段指出的不是操作数的地址,而是操作数本身,这种寻址方式称为立即寻址。
立即寻址方式的特点是指令执行时间很短,因为它不需要访问内存取数,从而节省了访问内存的时间。
直接寻址:是一种基本的寻址方法,其特点是:在指令格式的地址的字段中直接指出操作数在内存的地址。
由于操作数的地址直接给出而不需要经过某种变换,所以称这种寻址方式为直接寻址方式。
在指令中直接给出参与运算的操作数及运算结果所存放的主存地址,即在指令中直接给出有效地址。
间接寻址:是相对直接寻址而言的,在间接寻址的情况下,指令地址字段中的形式地址不是操作数的真正地址,而是操作数地址的指示器,或者说此形式地址单元的内容才是操作数的有效地址。
寄存器寻址方式和寄存器间接寻址方式:当操作数不放在内存中,而是放在CPU的通用寄存器中时,可采用寄存器寻址方式。
相对寻址:是把程序计数器PC的内容加上指令格式中的形式地址D而形成操作数的有效地址。
在基址寻址:将CPU中的基址寄存器的内容,加上变址寄存器的内容而形成操作数的有效地址。
基址寻址的优点是可以扩大寻址能力,因为与形式地址相比,基址寄存器的位数可以设置得很长,从而可以在较大的存储空间中寻址。
变址寻址:与基址寻址方式计算有效地址的方法很相似,它把CPU中某个变址寄存器的内容与偏移量D相加来形成操作数有效地址。
但使用变址寻址方式的目的不在于扩大寻址空间,而在于实现程序块的规律变化。
块寻址:经常用在输入输出指令中,以实现外存储器或外围设备同内存之间的数据块传送。
块寻址方式在内存中还可用于数据块移动。
输入/输出控制方式:程序方式(无条件传送、有条件传送)、中断、程序查询、DMA,DMA不需要CPU控制数据传输过程。
传值调用:将实参传给形参,修改形参的值后,不修改实参原值;引用调用:将实参地址传给形参,修改形参后,原实参值被修改。
冒泡排序的时间复杂度:最优复杂度:O(n) 最坏复杂度:O(n^2) 稳定性:稳定(两个相同数值的元素,是否交换位置,交换:不稳定;不交换:稳定)快速排序的时间复杂度:最优复杂度:O(nlogn) 最坏复杂度:O(n^2) 稳定性:不稳定归并排序的时间复杂度:最优复杂度:O(nlogn) 最坏复杂度:O(nlogn) 稳定性:稳定选择排序时间复杂度:最优复杂度:O(n^2) 最坏复杂度:O(n^2) 稳定性:不稳定加密算法(DES,AES,RSA,MD5,SHA1,Base64)比较和项目应用加密技术通常分为两大类:"对称式"和"非对称式"。
对称性加密算法:对称式加密就是加密和解密使用同一个密钥。
信息接收双方都需事先知道密匙和加解密算法且其密匙是相同的,之后便是对数据进行加解密了。
对称加密算法用来对敏感数据等信息进行加密。
非对称算法:非对称式加密就是加密和解密所使用的不是同一个密钥,通常有两个密钥,称为"公钥"和"私钥",它们两个必需配对使用,否则不能打开加密文件。
发送双方A,B事先均生成一堆密匙,然后A将自己的公有密匙发送给B,B将自己的公有密匙发送给A,如果A要给B发送消 息,则先需要用B的公有密匙进行消息加密,然后发送给B端,此时B端再用自己的私有密匙进行消息解密,B向A发送消息时为同样的道理。
散列算法:散列算法,又称哈希函数,是一种单向加密算法。
在信息安全技术中,经常需要验证消息的完整性,散列(Hash)函数提供了这一服务,它对不同长度的输入消息,产生固定长度的输出。