软件评测师学习笔记整理1.docx
《软件评测师学习笔记整理1.docx》由会员分享,可在线阅读,更多相关《软件评测师学习笔记整理1.docx(19页珍藏版)》请在冰豆网上搜索。
![软件评测师学习笔记整理1.docx](https://file1.bdocx.com/fileroot1/2022-12/15/42066913-c8cc-4d2e-a606-41aba1ed2f72/42066913-c8cc-4d2e-a606-41aba1ed2f721.gif)
软件评测师学习笔记整理1
《软件评测师学习笔记一》
二、软件测试基础
1.测试的概念:
测试是以评价一个程序或者系统属性为目的的任何一种活动,测试是对软件质量的一种度量。
测试的目的:
测试是为了度量和提高被测软件的质量,对被测软件进行工程设计、实施、维护的整个生命周期的过程。
2.软件测试有两种风险:
内部风险和外部风险;
软件测试只能证明软件有错误,不能证明软件没有错误;
软件测试的目的:
1、提高软件质量;2、降低项目风险;3、把软件的错误控制在可以进行产品发布或交付的程度上;
软件测试的经典定义:
在规定条件下对程序进行操作,以发现错误,对软件进行质量评估;
软件是由文档、数据和程序组成;
3.软件质量的概念:
软件满足规定或者潜在用户需求的能力,要从软件在内部、外部和使用中的表现来衡量。
4.质量保证(QA)和软件测试的不同:
QA是要通过预防、检查与改进来保证软件质量,重点在过程的跟进中;
软件测试的重点不在于此,而是要对过程的产物-开发文本和源代码进行走查,运行软件,以找出问题,报告质量。
软件测试不可能无休止地测下去,原因在于:
1、输入数据太多;2、输出结果太多;3、组合路径太多。
5.软件测试的分类
5.1按照软件开发阶段分:
单元测试(也叫模块测试)、集成测试(组装测试)、确认测试、系统测试和验收测试。
5.2按照测试实施组织划分:
开发方测试(也叫验证测试,阿尔法测试)、用户测试(贝塔测试)和第三方测试(独立测试);
5.3按照测试技术划分:
白盒测试、黑盒测试和灰盒测试;(关键在于对程序内部结构的态度上)
按照测试技术也可划分:
静态测试和动态测试。
6.软件测试模型:
6.1V模型,其局限性表现在把测试作为软件开发的最后一个阶段,是串行完成的;主要是针对程序进行测试寻找错误,而需求分析阶段隐藏的问题到后期的验收测试才被发现;
6.2W模型,优点是测试与开发过程是同步进行的,有利于测试的及早介入与执行;缺点是对开发阶段需要有明确的起点和终点,这点在实际情况中很难做到这点;
6.3H模型,优点在于表现出来不同测试的测试活动可以是按照某个次序先后进行的,但也可能是反复的。
只要测试条件成熟了,测试准备活动完成了,测试执行活动就可以进行了。
6.4X模型,针对单独程序片段进行互相分离的编码和测试,之后频繁的交接通过集成最终合成为可执行的程序。
6.6前置模型,特点:
将开发和测试的生命周期整合在一起,对每一个交付的开发结果都进行一定方式的测试,设计阶段是做测试计划和测试设计的最好时机,程序片段一旦编写完成就会立即进行测试,让验收测试和技术测试保持相互独立。
7.软件测试的目的:
寻找错误,并且尽最大的可能找出最多的错误。
8.软件测试的原则:
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.软件开发阶段的测试:
11.1单元测试(又叫模块测试)
单元测试的内容:
1、模块接口;2、局部数据结构测试;3、路径测试;4、错误处理测试;5、边界测试
单元测试用到的辅助模块:
驱动模块(所测模块的主程序)和桩模块(存根模块)
11.2集成测试(又叫组装测试或联合测试)
模块组装成为系统的方式有两种:
一次性组装方式(又叫整体拼装)和增殖式组装方式;
增殖式组装方式(又叫渐增式组装方式)又分两种:
自顶向下的增殖方式(建立较多的桩模块)、自底向上的增殖方式(建立较多的驱动模块)和混合增殖方式;
11.3确认测试
确认测试的内容:
进行有效性测试和软件配置复查。
11.4系统测试
11.5验收测试
验收测试是以用户为主,软件开发人员和质量保证人员也应参加的测试。
根据软件需求和验收要求编制测试计划,制定需测试的测试项,制定测试策略及验收通过准则。
根据《验收测试计划》和《项目验收准则》编制测试用例,并经过评审。
验收测试一般在用户的实际生产环境中进行,使用生产中的实际数据进行测试。
12.V&V
12.1V&V的基本概念:
验证(通过检查和提供客观证据,证实规定的需求已满足)和确认(通过检查和提供客观证据,证实预期用途的需求是否得到满足)
12.2每个V&V活动都有输入、任务和输出
12.3GB/T18905.5中规定的开发过程中的软件测试过程包括:
测试计划过程(包括测试计划和测试需求)->测试设计过程(包括测试说明和测试方案)->测试执行过程(测试用例和测试规程)->测试结束过程(测试结论和测试报告)。
13.软件失效
13.1软件错误(softwareerror)软件缺陷(softwaredefect)软件故障(softwarefault)软件失效(softwarefailure)区分之间的差别,有软件错误,会产生软件缺陷,出现软件故障,导致软件失效。
13.2软件缺陷的定义:
5条
14.给软件缺陷和错误划分严重性和优先级的通用原则是:
14.2表示软件缺陷所造成的危害和恶劣程度
14.3优先级表示修复缺陷的重要程度与次序
15.白盒测试,也叫结构测试或逻辑驱动测试,测试的是程序内部的动作和通路。
16.黑盒测试,也叫功能测试,主要针对软件界面和软件功能进行测试。
17.黑盒测试用例的设计方法有:
等价类划分法、边界值分析法、错误推测法、因果图法、判定表驱动法、正交试验设计法、功能图法等。
18.自动化分析测试工具有:
RationalTestStudio;Compuware公司的NuMegaDevPartnerStudio(可以进行源代码复查,错误监测,性能分析,分布式应用分析等);ParasoftSerials(可以进行代码的静态分析,白盒测试,黑盒测试)。
功能自动化测试工具有:
RationalRobot和MercuryWinRunner。
19.负载压力测试内容:
客户端、服务器端和网络
负载压力测试步骤:
1、选择协议;2、创建测试脚本;3、参数化测试数据;4、创建虚拟用户;5、执行测试;6、分析结果。
四.软件测试过程与管理
1.测试过程的特性:
可重复性,可再现性,公正性和客观性
2.测试过程由5个活动组成:
1、确立软件测试需求;2、编制测试规格说明;3、制定测试计划;4、执行测试计划;5、做测试结论
3.测试者提供的测试过程输入:
1、预先确定的测试规格说明;2、测试方法;3、测试工具。
4.测试者提供的测试过程输出:
1、测试记录;2、测试报告草案;3、经过评审的测试报告。
5.测试过程文档:
《测试需求》《测试规格说明》《测试计划》《测试记录》《测试报告》
7.测试工作的7条效率原则:
主动思考,积极行动;一开始就牢记目标,不迷失方向;重要的事情放在首位(但常常是紧急的事情放在首位);先理解人,后被人理解;寻求双赢;互相合作,追求1+1>2;终身学习,自我更新,不断进步。
8.PDCA循环理念:
计划(plan)-执行(do)-检查(check)-改进(active)。
9.软件测试的风险是指软件测试过程出现的或潜在的问题。
造成的原因:
测试计划不充分;测试方法有误;测试过程偏离。
常见计划风险的因素:
交付日期、测试需求、测试范围,测试资源、人员的能力、测试预算、测试环境、测试支持、劣质组件和测试工具。
10.软件风险分析的目的:
确定测试对象、测试优先级以及测试的深度。
软件风险分析是对一个潜在问题识别和评估的过程,即对测试的对象进行优先级的划分。
包括两个部分
1、发生问题的可能性有多大2、问题的影响严重性有多重
软件风险分析采用的两种方法:
表格分析法和举证分析法。
11.测试成本控制:
测试准备成本控制,测试执行成本控制,测试结束成本控制,测试实施成本控制,测试维护成本控制。
12.质量成本组成:
一致性成本和非一致性成本。
13.缺陷探测率DDP。
14.投资回报率
三、软件质量与评价(强制记忆)
1.软件质量特性:
功能性,可靠性,易使用性,效率,可维护性,可移植性。
2.功能性包含的子特性:
适合性,准确性,互操作性,依从性,安全性。
3.可靠性包含的子特性:
成熟性,容错性,易恢复性。
4.易使用性包含的子特性:
易理解性,易学习性,易操作性。
5.效率包含的子特性:
时间特性,资源特性。
6.可维护性包含的子特性:
易分析性,易更改性,稳定性,易测试性。
7.可移植性包含的子特性:
适应性,易安装性,一致性,易替换性。
8.BUG的等级划分与优先级
严重:
死机,数据丢失,主要功能完全丧失,系统悬挂等错误。
修改优先级为最高,该级别需要程序员立即修改。
较高:
主要功能丧失,导致严重的问题,或致命的错误声明。
修改优先级为高,该级别需要程序员尽快修改。
一般:
次要功能丧失,不太严重,如提示信息不太准确。
修改优先级为中,该级别需要程序员修改。
轻微:
微小的问题,对功能几乎没有影响,产品及属性仍可使用,如有个错别字。
修改优先级为低,该级别需要程序员修改或不修改。
9.BUG的另一种等级划分:
(不是固定的,按实际需求定义)
可以分为死机(系统崩溃或挂起)、致命(使系统不稳定、或破坏数据、或产生错误结果,而且是常规操作中经常发生或非常规操作中不可避免的)、严重(系统性能或响应时间变慢、产生错误的中间结果但不影响最终结果,如:
显示不正确但输出正确)、一般(界面拼写错误或用户使用不方便)。
五、黑盒测试案例与技术
六、白盒测试技术
七、面向对象的软件测试技术
八、应用负载压力测试
1.负载压力的概念:
指在一定的约束条件下测试系统所承受的并发用户量、运行时间、数据量,以及确定系统所能承受的最大负载压力。
2.负载压力测试的目的:
1、在真实环境下检测系统性能,评估系统性能以及服务等级的满足情况。
2、预见系统负载压力承受力,在应用实际部署之前,评估系统性能
3、分析系统瓶颈,优化系统
3.应用在客户端性能测试的五种类型的目标:
虚拟用户数、每秒点击次数、每秒事务数,每分钟页面数或事务响应时间。
4.应用在网络上的性能测试:
优化性能;预测系统响应时间;确定网络带宽需求;定位应用程序和网络故障。
5.做网络故障分析需要的信息:
1、监控不同探针之间的连接状态、传输的字节数以及通信往返行程次数;
2、会话性能概要,监控哪段网络延迟大,带宽对网络双向性能的影响,节点用于处理和用于传输的时间等;
3、服务器与客户端之间帧传输情况统计,可以监控到与应用相关的帧的分布,对每一个帧可以与相关的数据包惯性力,并且可以对帧
解码;
4、服务器与客户端之间传送包信息统计,监控包的详细信息,并且可以将包与帧与线程相关联;
5、线程信息统计,监控线程的内容和生产周期,以及线程与数据包的关系;
6、负载的高峰时刻,监控到负载的平均值以及高峰值,并且高峰时刻可以与相关的线程、数据包、帧相关联。
7、故障错误总结
6.用户关心网络监控的问题:
1、分析关键应用程序的性能;
2、定位问题的根源是在客户端、服务器、应用程序还是网络;
3、哪些应用程序占用大量带宽;
4、哪些用户产生了最大的网络流量。
7.负载压力测试实施步骤:
测试计划->测试需求分析->测试案例制定->测试环境、工具、数据准备->测试脚本录制、编写与调试->场景制定->测试执行
->获取测试结果->结果评估与测试报告
十一、安全测试与评估
1.测试与评估的内容:
1.1用户认证机制
1.2加密机制
1.3安全防护策略
1.4数据备份与恢复手段
1.5防病毒系统
1.6
2.用户认证机制的种类:
数字证书,智能卡,双重认证,安全电子交易(SET)协议
3.安全防护策略主要有:
安全日志,入侵检测,隔离防护,漏洞扫描。
4.数据备份与恢复技术通常包括:
存储设备,存储优化,存储保护,存储管理。
5.杀毒软件中常用的两种管理方式:
以策略为中心,以服务器为中心。
6.防病毒技术包含:
6.1集中式管理,分布式杀毒
6.2数据库技术、LDAP技术的应用
6.3多引擎支持
6.4不同操作系统的防护
6.5远程安装或分发安装
7.基本安全防护策略:
防火墙,入侵检测,漏洞扫描,安全审计,病毒防治,web信息防篡改,物理安全。
8.安全体系主要的7个层次:
实体安全,平台安全,数据安全,通信安全,应用安全,运行安全,管理安全。
9.安全性测试策略针对的7个层次:
9.1证书业务服务系统测试
9.2证书查询验证服务系统测试
9.3密钥管理系统测试
9.4密码服务系统测试
9.5可信授权服务系统测试
9.6可信时间戳服务系统测试
9.7网络信任域系统测试
9.8故障恢复与容灾备份测试
9.9安全产品的选择
10.安全性测试方法
10.1功能验证
10.2漏洞扫描
10.3模拟攻击试验
10.4侦听技术
10.负载均衡设备的作用:
网络平衡的作用,调节各应用服务器的在线人数,以免造成单个服务器超负荷工作,合理分配工作状态的运行情况。
11.负载压力测试工具主控台的作用:
负责管理各个负载生成器以及收集各负载生成器的测试数据,负载生成器负责模拟虚拟用户加压,在每次并发性能测试中,只有一台主控台,但可以有多个负载生成器。
因为网上报名系统的用户本来就是分布式的,所以这个项目需要采用分布式部署负载生成器。
12.随并发用户数递增,交易执行成功率降低的可能原因:
分析测试结果中的应用服务器资源利用数据,判断服务器资源利用是否有瓶颈存在。
随着用户数量的增加,用户的会话信息增多,占用的内存数量也会越来越多,导致CPU忙于在内存和外存间交换数据,因此,系统性能会下降。
13.对于Web应用系统而言,性能调优的措施有:
优化服务器配置、运用缓冲机制、采取数据库连接池技术、优化数据库设计等。
14.漏洞扫描是一项重要的安全技术,它采用模拟攻击的形式对网络系统组成元素(服务器、工作站、路由器、防火墙和数据库等)可能存在的安全漏洞进行逐项检查,根据检查结果提供详细的漏洞描述和修补方案,形成系统安全性分析报告,从而为网络管理员完善网络系统提供依据。
15.漏洞扫描器的分类,就可以根据不同的角度来划分,就有不同的分类。
例如,
根据工作模式,漏洞扫描器分为主机漏洞扫描器和网络漏洞扫描器。
根据检测对象,漏洞扫描器可分为网络扫描器、操作系统扫描器、WWW服务扫描器、数据库扫描器以及最近出现的无线网络扫描器等。
十二、兼容性测试
1.兼容性测试的目的:
1.1最低配置师傅能够满足系统运行的需要;
1.2在推荐配置下系统的响应速度;
1.3考察软件对运行硬件环境有无特殊说明;
1.4为了满足不同的使用需求,软件系统能否运行在多种硬件配置环境下,并且系统功能和性能都能满足设计需求。
2.硬件兼容的内容:
与整机(主要有CPU、内存和硬盘)的兼容,与板卡的兼容,与打印机的兼容。
3.软件兼容的内容:
与操作系统的兼容,与数据库的兼容,与中间件的兼容,与浏览器的兼容,与其他软件的兼容。
4.数据库兼容性测试要点:
完整性测试,应用系统测试,性能测试。
5.数据库兼容性测试的主要内容:
不同数据格式的兼容性,XML符合性。
6.平台化软件的分类:
技术支撑型平台,应用实现型平台。
7.平台化软件的兼容性测试策略
7.1跨硬件平台能力
7.2跨操作系统能力
7.3支持多种数据库系统
7.4客户端兼容性测试
7.5数据兼容性测试
十四、易用性测试
1.安装易用性测试的方面:
1.1安装手册的评估;
1.2安装的自动化程序测试;
1.3安装选项和设置的测试;
1.4安装过程的中断测试;
1.5安装顺序测试;
1.6多环境安装测试;
1.7安装的正确性测试;
1.8修复安装测试与卸载测试。
2.功能易用性测试
2.1业务符合性;
2.2功能定制性;
2.3业务模块的集成度;
2.4数据共享能力;
2.5约束性;
2.6交互性;
2.7错误提示;
3.用户界面易用性测试:
3.1界面整体测试:
规范性测试;合理性测试;一致性测试;定制测试;
3.2界面元素测试:
窗口测试;菜单测试;图标测试;鼠标测试;文字测试
3.3辅助系统测试:
帮助测试;向导测试;信息提示。
4.用户界面定制性测试:
4.1界面元素的可定制性;
4.2工具栏的可定制性;
4.3统计检索的可定制性;
4.4报表的可定制性。
十五、可靠性测试
1.
十六、文档测试
1.文档的分类:
1.1用户文档:
用户手册
操作手册
维护修改建议
1.2开发文档
软件需求说明书
数据库设计说明书
概要设计说明书
详细设计说明书
可行性研究报告
1.3管理文档
项目开发计划
测试计划
测试报告
开发进度月报
开发总结报告
2.用户文档测试要点:
2.1读者群
2.2术语
2.3正确性
2.4完整性
2.5一致性
2.6易用性
2.7图标与界面截图
2.8样例和示例
2.9语言
2.10印刷与包装
3.用户手册的测试要点:
3.1准确安装手册的描述使用程序;
3.2尝试每一条建议;
3.3检查每条陈述;
3.4查找容易误导用户的内容;
4.在线帮助的测试要点:
4.1准确性;
4.2帮助索引;
4.3超链接;
4.4帮助的风格。
一、计算机系统构成及硬件基础知识
1.计算机的构成(冯.诺依曼结构):
运算器,控制器,存储器,输入/输出设备.
2.控制器的组成:
程序计数器(PC),指令寄存器(IR),指令译码器(ID),定时与控制电路,脉冲源,中断等.
3.CPU的只要组成:
指令寄存器,指令译码器,定时与控制电路,程序计数器,标志寄存器,堆栈和堆栈指针
4.主振周期=时钟周期;
指令周期=CPU周期=机器周期=多个时钟周期;
5.时序的两种控制方式:
5.1组合逻辑控制5.2微过程控制
6.组合逻辑控制的实现有两种方式:
硬件接线控制和可编程逻辑阵列.
7.微程序对应一条机器指令;由多个微指令组成;
微指令由多个微操作最成.
8.微指令的格式:
操作控制字段+顺序控制字段;
9.操作控制字段的格式有两种:
水平型微指令和垂直型微指令.
10.输入/输出设备只要种类:
10.1纸带机、卡片机;
10.2键盘、鼠标;
10.3显示器;
10.4外存
10.5打印机
10.6图形图象摄影输入设备。
11.输入输出控制器的组成:
数据寄存器,状态寄存器,控制寄存器,控制电路。
12.外设的识别是通过地址总线和接口电路的地址译码器来实现的。
13.外设的编址方式:
独立编制方式和统一编址方式。
14.外设的4种访问方式:
程序查询方式,中断方式,DMA(直接存储器存取)方式,信道方式。
15.中断源包括:
I/O设备、实时始终、故障源、软件中断等。
16.按照中断源来分,中断可分为内部中断和外部中断。
内部中断分为溢出中断、除法错中断、断点中断,软件中断和单步中断。
外部中断(中断源来自CPU之外)按照cpu的响应可以分为:
可屏蔽中断和非屏蔽中断(如掉电)。
17.中断判断方式:
17.1每个中断源使用自己的中断请求信号线和CPU相连;
17.2统一的中断请求;
17.3硬件查询法;
17.4总线仲裁;
17.5中断向量表。
18.DMA传输过程的总线占有方式:
18.1CPU停止访问主存,只进行一些与总线无关的内部操作;
18.2时间轮转片法;
18.3借用周期法。
19.DMA方式和中断的最根本区别:
使用中断方式时,主存和输入/输出控制器之间的数据传送仍然需要勇cpu操作,需要使用cpu的寄存器等资源,所以必须保护现场,而DMAc要暂停cpu的执行,以达到控制总线的母的,不需要保护现场。
20.常见输入/输出接口:
20.1磁盘接口(IDE,SCSI)
20.2串行接口和并行接口;
20.3PCCard接口;
20.4USB接口;
20.51394接口。
21.从CPU到外设,总线可以分为4类:
CPU内部总线,部件内部总线,系统总线,
外总线。
22.系统总线分为3种:
数据总线,地址总线,控制总线。
23.总线的3种仲裁方式:
链式查询方式,计数器定时查询方式,独立请求方式
24.指令流数据流的分类,
按照多倍性的分类:
单指令流单数据流,单指令流多数据流,多指令流单数据流,多指令流多数据流;
按照程序流程机制的分类:
控制流计算机,数据流计算机,归约机。
25.存储器常用的4种存取方式:
顺序存取,直接存取,随机存取,相联存取。
26.主存储器的分类:
RAM,ROM,PROM,EPROM,E2PROM,闪速存储器,相联存储器
27.辅助存储器的分类:
磁带存储器,磁盘存储器,廉价磁盘冗余阵列存储器(即RAID,分6个级别),光盘存储器。
27.Cache存储器:
即高速缓冲存储器,最常用的3种淘汰算法:
随机淘汰法,先进先出和近期最少使用淘汰法(LRU)。
28.Cache的常用些操作:
写直达,写回,标记法。
29.磁盘容量的计算方法?
30.三大总线:
PC-XT总线(也称PC总线),ISA总线,PCI总线。
顺序:
PC-XT总线(也称PC总线),PC-AX总线,ISA总线,EISA总线,PCI总线,AGP总线。
31.CISC?
32.RISC?
33.例题11到例题20还没做?
34.计算机中的原码,反码,补码,移码都是什么?
35.在计算机中,最适合进行数字加减运算的数字编码是补码,最适合表示浮点数阶码的数字编码是移码。
计算机中数字用原码表示直观,实现乘除运算规则较简单,但做加减运算时涉及符号的表示,很不方便。
引入补码是要利用补数的特点,来方便地执行正负任意数的加减运算,实现变减运算为加运算,因此补码最适合进行数字加减运算。
浮点数的表示方式形式由阶码和尾数两部分组成,底数是事先约定的,在机器数中不出现。
尾数是数值的有效数字部分,通常用补码表示,而阶码用一般用移码表示。
36.操作数所处的位置,可以决定指令的寻址方式。
操作数包含在指令中,寻址方式为立即寻址;操作数在寄存器中,寻址方式为寄存器寻址;操作数的地址在寄存器中,寻址方式为寄存器间接寻址。
(4)A.立即寻址B。
直接寻址
C.寄存器寻址D。
寄存器间接寻址
(5)A.立即寻址B。
直接寻址
C.寄存器寻址D。
寄存器间接寻址
(6)A.相对寻址B。
直接寻址