《软件测试基本功》系列教程 - 第2章 操作系统基础
ruanjian

软件测试的目的和原则 软件测试用例设计软件测试策略软件测试种类程序调试软件测试的目的和原则软件测试的目的软件测试的原则软件测试的对象测试信息流测试与软件开发各阶段的关系软件测试的目的基于不同的立场,存在着两种完全不同的测试目的。
从用户的角度出发,普遍希望通过软件测试暴露软件中隐藏的错误和缺陷,以考虑是否可接受该产品。
从软件开发者的角度出发,则希望测试成为表明软件产品中不存在错误的过程,验证该软件已正确地实现了用户的要求,确立人们对软件质量的信心。
Myers软件测试目的(1) 测试是程序的执行过程,目的在于发现错误;(2) 一个好的测试用例在于能发现至今未发现的错误;(3) 一个成功的测试是发现了至今未发现的错误的测试。
换言之,测试的目的是想以最少的时间和人力,系统地找出软件中潜在的各种错误和缺陷。
如果我们成功地实施了测试,我们就能够发现软件中的错误。
测试的附带收获是,它能够证明软件的功能和性能与需求说明相符合。
实施测试收集到的测试结果数据为可靠性分析提供了依据。
测试不能表明软件中不存在错误,它只能说明软件中存在错误。
软件测试的原则1.应当把“尽早地和不断地进行软件测试”作为软件开发者的座右铭。
2. 测试用例应由测试输入数据和对应的预期输出结果这两部分组成。
3. 程序员应避免检查自己的程序。
4. 在设计测试用例时,应当包括合理的输入条件和不合理的输入条件。
5. 充分注意测试中的群集现象。
经验表明,测试后程序中残存的错误数目与该程序中已发现的错误数目成正比。
6. 严格执行测试计划,排除测试的随意性。
7. 应当对每一个测试结果做全面检查。
8. 妥善保存测试计划,测试用例,出错统计和最终分析报告,为维护提供方便。
软件测试的对象软件测试并不等于程序测试。
软件测试应贯穿于软件定义与开发的整个期间。
需求分析、概要设计、详细设计以及程序编码等各阶段所得到的文档,包括需求规格说明、概要设计规格说明、详细设计规格说明以及源程序,都应成为软件测试的对象。
软件测试技术基础课后习题答案

解:软件缺陷产生的主要原因有:需求规格说明错误;设计错误;程序 代码有误;其他。其中在需求分析阶段引入的缺陷最多,修复的成本又 最低。
4. 当用户登录某网站购物完毕并退出后,忽然想查查购物时付账 的总金额,于是按了浏览器左上角的“退回”按钮,就又回到了 退出前的网页,你认为该购物软件有缺陷吗?如果有,属于哪 一类?
解:有缺陷。其所属类别与软件产品说明书的要求有关。
5. 什么是软件测试?简述其目的与原则。
解:软件测试是为了尽快尽早地发现在软件产品中所存在的各种软件缺 陷而展开的贯穿整个软件开发生命周期,对软件产品(包括阶段性产 品)进行验证和确认的活动过程。
测试目的:(1)证明:获取系统在可接受风险范围内可用的信 心;尝试在非正常情况和条件下的功能和特性;保证一个工作产品是完 整的并且可用或可被集成。 (2)检测:发现缺陷、错误和系统不足; 定义系统的能力和局限性;提供组件、工作产品和系统的质量信息。 (3)预防:澄清系统的规格和性能;提供预防或减少可能制造错误的 信息;在过程中尽早检测错误;确认问题和风险,并且提前确认解决这 些问题和风险的途径。
8. 简述软件测试过程。
解:软件测试过程主要包括如下6个活动:测试计划;测试需求分析; 测试设计;测试规程实现;测试执行;总结生成报告。
9. “软件测试能够保证软件的质量”这句话对吗?软件测试和软件 质量之间是什么关系?
解:不对。软件测试是保障软件质量的手段之一,但不是唯一手段。测 试是产品高质量的必要非充分条件,软件测试不能决定软件质量。
快速原型模式首先构造一个功能简单的原型系统,然后通过对原型 系统逐步求精,不断扩充完善得到最终的软件系统。原型系统在扩充完 善过程中不断被检查、测试和修改。
软件测试基础知识与教程

软件测试基础知识与教程第一章:软件测试概述软件测试是指在软件开发过程中,通过预定义的测试方法和工具,对软件的功能、性能和安全等进行验证和确认的过程。
本章将介绍软件测试的概念、目的和重要性。
1.1 软件测试的定义软件测试是对软件产品的评价过程,通过运行程序、应用各种测试技术和工具,发现软件中的错误、缺陷并评估软件质量。
1.2 软件测试的目的- 发现软件中的错误和缺陷,确保软件的稳定性和可靠性;- 评估软件的可用性和性能;- 确保软件符合用户需求和规格说明。
1.3 软件测试的重要性- 高质量的软件需要经过严格的测试才能达到;- 测试能够帮助开发人员识别和修正软件中的错误和缺陷;- 软件测试能够提供可靠的测试结果,为用户提供准确的软件质量评估。
第二章:软件测试方法本章将重点介绍常用的软件测试方法,包括黑盒测试、白盒测试和灰盒测试。
2.1 黑盒测试黑盒测试是一种基于对软件外部行为的观察,不考虑软件内部结构和实现的测试方法。
主要通过输入有效和无效的数据,观察软件的输出和行为是否符合预期来验证软件是否正确运行。
2.2 白盒测试白盒测试是一种基于对软件内部结构和实现的了解,设计测试用例并覆盖内部代码的执行路径的测试方法。
通过结构覆盖、路径覆盖和判定覆盖等方法来验证软件的各个部分都得到了正确的测试。
2.3 灰盒测试灰盒测试是黑盒测试和白盒测试的结合,既考虑软件的外部行为又考虑软件的内部结构。
通过了解软件的设计和实现,设计测试用例并验证软件的正确性和稳定性。
第三章:软件测试流程本章将介绍软件测试的常见流程,包括需求分析、测试计划、测试设计、测试执行和测试评估。
3.1 需求分析在软件测试开始之前,首先需要进行需求分析,明确软件的功能和性能需求,确定测试的目标和范围。
3.2 测试计划测试计划是制定整个测试过程的指南,包括测试资源的分配、测试环境的准备、测试策略和方法的确定。
3.3 测试设计测试设计是根据测试目标和范围,确定测试用例和测试数据的过程。
软件测试(第2版 慕课版)课后习题答案

第一章软件测试基础课后习题答案1.什么是软件测试?软件测试发现一个应用从开始到结束时的错误,测试是一个过程。
(Glenford J.Myers 提出对软件测试的定义)测试是发现错误而执行的一个程序或系统的过程测试以发现故障为目的,是为了发现故障而执行程序过程2.软件测试涉及哪几个关键问题?软件测试的经济性原则谁来测试(who)测试什么(what)什么时候测试(when)怎样进行测试(how)测试的停止标准是什么(which)3.为什么说软件需求说明是软件故障的最大来源?软件需求是描述了系统有哪些功能,功能操作,性能如何等问题,是开发阶段的重要文档,也是后期软件开发的重要依据。
如果软件需求一开始就错了,在后面处理过程则会把错误放大,这样使得修复起来成本就是提升。
4.简述软件测试的复杂性和经济性。
复杂性1.完全测试是不现实的2.软件测试是有风险的3.杀虫剂现象4.缺陷的不确定性经济性软件测试是软件生命期中费用消耗最大的环节。
测试费用除了测试的直接消耗外,还包括其他的相关费用5.分析最近发生的软件质量事故,并简要分析产生的原因。
具体案例具体分子6.启动Windows计算器,输入“6,000-6=”(逗号不能少),观察计算结果,这是软件故障吗?为什么?这是软件故障中的界面缺陷。
由于无法输入逗号,无法进行输入,当做一个界面缺陷,因为不符合需求,原本是小数点变成了逗号。
7.软件测试应遵循哪些重要的原则或方针?1.完全测试程序是不可能的2.软件测试是有风险的3.测试无法找到隐藏的软件故障4.存在的故障数量与发现的故障数量成正比5.杀虫剂现象6.并非所有软件故障都能修复7.一般不要丢弃测试用例8.应避免测试自己编写的程序9.软件测试是一项复杂且具有创造性的和需要高度智慧的挑战性任务8.假定无法完全测试某一程序,那么在决定是否应该停止测试时应考虑哪些问题?在工作中,常用的停止测试标准有五类:测试超过了预定时间,停止测试执行了所有测试用例但没有发现故障,停止测试使用特定的测试用例方法作为判断测试停止的基础正面指出测试完成要求,如发现并修改70个软件故障根据单位是见查出故障数量决定是否停止测试9 . 假如星期一测试软件的某一功能时,每小时能发现一个新的软件故障,那么星期二会以什么频率发现软件故障?第一感觉就是与第一天(星期一)的一样,既然前一天发现的频率以每小时都有新的故障,说明软件的缺陷很高,所以第二天也可能有同样的频率。
大学计算机基础教程(高守平第二版)第2章操作系统基础

大学计算机基础教程(高守平第二版)第2章操作系统基础大学计算机基础教程(高守平第二版)第2章操作系统基础第一节操作系统的定义和作用操作系统是一种系统软件,它管理和控制计算机硬件资源,并提供给用户一个简单易用的界面,使得用户可以方便地使用计算机。
1.1 操作系统的定义操作系统是指在计算机和用户之间起到桥梁作用的软件。
它利用计算机的硬件资源,提供给用户一个友好的环境,使得用户可以与计算机交互,并能够运行各种应用程序。
1.2 操作系统的作用操作系统有以下几个主要作用:(1)管理和分配计算机系统的硬件资源,包括处理器、存储器、输入输出设备等;(2)提供用户与计算机之间的接口,让用户能够方便地使用计算机;(3)管理和调度进程,保证多个进程之间的并发执行;(4)提供各种系统服务和功能,如文件管理、网络通信等。
第二节操作系统的基本概念2.1 进程和线程进程是指正在运行的程序的实例。
每个进程有自己的地址空间、文件描述符等资源。
一个进程可以包含多个线程,线程是在进程中独立运行的执行单元。
2.2 内存管理操作系统负责管理计算机的内存资源,包括内存的分配和释放、虚拟内存的管理等。
通过虚拟内存技术,操作系统可以将进程使用的内存分为多个虚拟地址空间,从而提高内存的利用率。
2.3 文件系统文件系统负责管理计算机中的文件和目录。
它提供了对文件的读写操作,并管理文件的存储和组织。
文件系统还提供了目录结构,方便用户组织和查找文件。
2.4 设备管理设备管理是操作系统对计算机硬件设备进行管理的一项重要任务。
它负责对设备的分配和回收,以及设备的驱动程序的管理。
通过设备管理,操作系统可以提供对各种设备的统一访问接口,使得应用程序可以方便地使用设备。
第三节常见的操作系统3.1 Windows操作系统Windows操作系统是由微软公司开发的一种广泛使用的操作系统,具有图形化界面和丰富的应用软件。
Windows操作系统拥有庞大的用户群体,在个人计算机和企业中使用广泛。
操作系统原理与应用(第2版)清大版第2章习题参考答案

1、进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。
在程序并发执行时已不再具有封闭性,而且产生了许多新的特性和新的活动规律。
程序这一静态概念已不足以描述程序的并发执行的特性。
为了适应这一新情况,引入了一个能反应程序并行执行特点的新概念——进程(process)。
有的系统也称为任务(task)。
2、进程:是程序的一次执行,是动态概念;一个进程可以同时包括多个程序;进程是暂时的,是动态地产生和消亡的。
程序:是一组有序的静态指令,是静态概念;一个程序可以是多个进程的一部分;程序可以作为资料长期保存。
3、能够看到。
进程控制块PCB表示进程的存在。
为进程的实体为:程序部分描述了进程所要完成的功能,它通常可以由若干个进程所共享。
数据部分包括程序运行时所需要的数据和工作区,它通常是各个进程专有的。
4、可再现性:程序重复执行时,必将获得相同的结果。
即对于程序A来说,第一次运行得到一结果,第二次运行时若中间有停顿,但最后的结果必将与第一次一样。
封闭性:程序一旦开始运行,其计算结果和系统内资源的状态不受外界因素的影响。
5、1)运行状态:进程正占用CPU,其程序正在CPU上执行。
处于这种状态的进程的个数不能大于CPU的数目。
在单CPU机制中,任何时刻处于运行状态的进程至多是一个。
2)就绪状态:进程已具备除CPU以外的一切运行条件,只要一分得CPU马上就可以运行(万事具备,只欠东风)。
在操作系统中,处于就绪状态的进程数目可以是多个。
为了便于管理,系统要将这多个处于就绪状态的进程组成队列,此队列称为就绪队列。
3)封锁状态:进程因等待某一事件的到来而暂时不能运行的状态。
此时,即使将CPU 分配给它,也不能运行,故也称为不可运行状态或挂起状态。
系统中处于这种状态的进程可以是多个。
同样,为了便于管理,系统要将它们组成队列,称为封锁队列。
封锁队列可以是一个,也可以按封锁原因形成多个封锁队列。
6、(1)1---分到CPU,2---时间片到,3---等待某一事件的发生,4---所等待事件已发生。
02365计算机软件基础(二)-7页

计算机软件基础(二)(02365)1.单链表中某个结点的指针域的值指向哪些位置的结点?2.若二叉排序树的左子树不空,则左子树上所有结点的值与根结点的值哪个更大?3.用线性查找方法,若查找成果,所需要的最小比较次数是多少次?4.什么位置允许进行插入和删除运算?5.操作系统的功能包括哪些?6.进程的三种最基本状态分别是什么?7.当系统创建一个进程时,即为进程建立一个什么?8.按文件的物理结构分,包括哪些文件?9.固定式分区方式,内存被划分成几个的分区?大小是否相等?10.作业由三部分构成,包括哪些部分?11.使用通道技术,一个通道可以连接多个什么设备?12.DOS的系统调用属于什么接口?13.数据库系统中数据的完整性指什么?14.数据库的三级结构是:用户逻辑结构、数据的整体逻辑结构和物理存储结构。
它们分别被定义为什么?15.FOXPRO中,什么相当于一个二维表?16.软件生命期的第二个阶段是什么阶段?17.软件工程中,控制复杂性的基本手动哪两个基本手段?18.数据词典是指什么?19.在商品化的数据库系统中,根据采用的数据模型不同,也分为三大类数据库,包括哪些?20.软件生命期的第一个阶段是什么阶段?21.决定系统的模块结构的是什么设计?22.数据流的流向指什么?23. C语言、DOS、FOXPRO、ROM中不属于计算机软件资源的是哪个?24.编译程序的功能是什么? 25.什么是计算机软件?26什么是.散列查找? 27.什么是虚拟存储?28.什么是数据库系统? 29虚拟计算机指什么?30.什么叫死锁? 31.进程是什么?32.什么是软件工程? 33.什么是线性链表?34.树指什么? 35.什么是进程?36.什么是关系模型? 37.什么是队列?38.什么是二叉树? 39.什么是虚拟设备? 40.什么是模块?41.当我们买到一台新的微型计算机时,已经有一个程序在ROM中,它是什么?42.最主要的数据存储方式有哪些? 43.操作系统的目的是什么?44.数据管理技术的发展,大致经过了那几个阶段?45.结构图中主要成分有哪些? 46.什么是软件? 47.什么是数据结构?48.操作系统具有哪五个方面的功能? 49.实体集之间的联系归纳起来有哪三类?50.数据词典中有四种类型的条目分别是什么?51.在二叉排序树中,通过哪种排序树可以得到递增次序的有序序列?52.在一个长度为n的顺序表中的第i(1≤i≤n) 个元素之前插入一个元素时,需向后移动几个元素?53.稀疏矩阵的三元组中,第一行存储的是什么?54.存储管理可分为哪几种存储管理技术?55.数据管理技术发展经过了哪三个阶段?56.一个等待分配处理器的进程其状态叫什么?得到处理器后状态叫什么?57.线性结构是指数据元素之间的前后件关系,可以用什么简单地表示出来?58.假设以S和X分别表示进栈和退栈操作,则对输入序列a,b,c,d,e进行一系列栈操SSXSXSSXXX之后,得到的输出序列是什么?59.操作系统的基本功能包括哪几种?60.在避免死锁的方法中,一般采用什么算法?61.相互之间存在一种或多种特定关系的数据元素的集合称为什么?62.链式存储结构对于数据元素的插入和删除,需要移动结点和改变结点指针吗?63.某计算机系统采用页式存储管理,程序的逻辑地址总长为16位,主存块的大小是1024字节,用户程序最大可有多少页?64.有64个结点的完全二叉树的深度为多少?65.二维数组A的行下标范围是0到8,列下标范围是1到10,每个元素占6个字节的存储空间。
轻松上手——软件测试作业指导书

轻松上手——软件测试作业指导书第1章软件测试基础 (2)1.1 软件测试的定义与目的 (2)1.2 软件测试的分类 (3)1.3 软件测试的基本原则 (3)第2章测试用例设计 (3)2.1 测试用例的概念与组成 (4)2.2 等价类划分法 (4)2.3 边界值分析法 (4)2.4 因果图法 (5)第3章黑盒测试 (5)3.1 黑盒测试概述 (5)3.2 功能测试 (5)3.3 功能测试 (6)3.4 安全性测试 (6)第4章白盒测试 (7)4.1 白盒测试概述 (7)4.2 逻辑覆盖测试 (7)4.3 循环测试 (7)4.4 程序插桩 (8)第5章静态测试 (8)5.1 静态测试概述 (8)5.2 代码审查 (8)5.3 代码走查 (9)5.4 静态代码分析工具 (9)第6章自动化测试 (9)6.1 自动化测试概述 (9)6.2 自动化测试工具 (10)6.3 测试脚本的编写与维护 (10)6.4 自动化测试框架 (10)第7章功能测试 (11)7.1 功能测试概述 (11)7.2 压力测试 (11)7.2.1 压力测试目标 (11)7.2.2 压力测试方法 (11)7.3 负载测试 (11)7.3.1 负载测试目标 (12)7.3.2 负载测试方法 (12)7.4 稳定性测试 (12)7.4.1 稳定性测试目标 (12)7.4.2 稳定性测试方法 (12)第8章兼容性测试 (12)8.1 兼容性测试概述 (12)8.2 浏览器兼容性测试 (12)8.3 操作系统兼容性测试 (13)8.4 移动设备兼容性测试 (13)第9章安全性测试 (13)9.1 安全性测试概述 (13)9.2 静态安全性分析 (14)9.2.1 代码审查 (14)9.2.2 代码度量分析 (14)9.2.3 静态应用程序安全测试(SAST) (14)9.3 动态安全性分析 (14)9.3.1 渗透测试 (14)9.3.2 模糊测试 (14)9.3.3 安全性评估 (14)9.4 漏洞扫描工具 (14)9.4.1 Acunetix (14)9.4.2 Burp Suite (15)9.4.3 OpenVAS (15)第10章测试管理 (15)10.1 测试计划与策略 (15)10.1.1 测试目标 (15)10.1.2 测试范围 (15)10.1.3 测试方法与策略 (15)10.1.4 测试资源与时间表 (15)10.2 测试过程管理 (15)10.2.1 测试用例管理 (15)10.2.2 测试执行 (15)10.2.3 测试监控与控制 (16)10.2.4 测试报告 (16)10.3 缺陷管理 (16)10.3.1 缺陷识别与报告 (16)10.3.2 缺陷跟踪与修复 (16)10.3.3 缺陷分析 (16)10.4 测试团队协作与沟通 (16)10.4.1 团队组织与分工 (16)10.4.2 沟通机制与工具 (16)10.4.3 项目协调与支持 (16)第1章软件测试基础1.1 软件测试的定义与目的软件测试是在规定的条件下,对软件产品进行操作以发觉软件缺陷、验证软件功能、功能等是否满足需求的过程。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
陈能技编著陈能技编著 第二章 操作系统基础操作系统相关的知识是所有IT从业者必备的基础知识,也是软件测试人员的必备基础,扎实的操作系统相关知识是软件测试环境搭建、缺陷查找和分析等测试工作的基础。
本章重点介绍VMWare虚拟机的使用、Linux操作系统的安装和高级使用方面的知识。
2.1 操作系统与虚拟机2.1.1 测试人员需要熟悉的操作系统众说周知,软件是运行在操作系统层面之上的,而操作系统又运行于硬件设备(例如CPU、内存、硬盘)之上。
常见的操作系统类型有桌面和服务器操作系统Windows、Linux、Mac OS X等,嵌入式操作系统VxWorks、uClinux、WinCE等,手机操作系统Symbian、UIQ、Windows Mobile、Palm、Android 等。
根据软件运行的环境,测试人员需要熟悉相关的操作系统的安装和使用方法。
一般在进行软件兼容性测试时需要安装多套操作系统运行环境。
2.1.2 虚拟机在软件测试中的应用一台计算机设备可以安装多套操作系统,但是如果在软件测试过程中需要频繁切换操作系统,则会浪费很多时间。
另外,有些时候我们需要验证软件在不同硬件配置条件(例如内存大小)下的运行情况,但是由于不能随时插拔内存条,因此会带来测试的不便。
这时候我们可以引入虚拟机来解决这些问题。
利用虚拟机可以在一台电脑上将硬盘和内存的一部分拿出来虚拟成若干机器,如图2.1所示,每台机器可以运行单独的操作系统而互不干扰,这些虚拟出来的机器可以用于自己独立的硬盘和操作系统,这些虚拟机器上的操作系统之间可以共享一个网络,实现互联互通。
图2.1 虚拟机原理图虚拟机可以采用WMWare。
VMware Workstation 是一种功能强大的台式机虚拟化软件,面向希望优化企业中软件开发、测试和部署的软件开发人员/测试人员及IT专业人员。
它允许用户在单台 PC 机上用完全网络化的、便携式的虚拟机同时运行多个基于 x86 的操作系统(包括Windows、Linux 和NetWare)及他们的应用程序—不需要分区,也不需要重启。
VMware Workstation 的工作原理是:创建完全隔离、安全的虚拟机来封装操作系统及其应用程序。
VMware 虚拟化层将物理硬件资源映射为虚拟机的资源,所以每个虚拟机都有自己独立的CPU、内存、磁盘和 I/O 设备,完全等同于一台标准的 x86 机器。
VMware Workstation 安装在主机操作系统上并通过继承主机的设备支持而提供了广泛的硬件支持。
读者可以访问VMWare的主页获取更多信息以及下载试用版本:/cn/2.1.3 在VMWare中安装虚拟操作系统下面以WMWare Workstation5.5版本为例(以下简称VM),介绍虚拟机的使用方法。
安装完VM之后,通过选择菜单“File->New->Virtual Machine”打开虚拟机操作系统的安装向导,如图2.2所示:陈能技编著图2.2 虚拟机操作系统安装向导下面就按向导的提示一步步选择需要安装的操作系统版本以及各项必要的设置。
向导结束后出现如图2.3所示的界面:图2.3 虚拟操作系统初始配置完毕到这里尚未完成虚拟机操作系统的安装,而是仅仅完成了初始的配置。
在这里还可以进行配置修改,在“Devices”区域可以双击“Memory”进行内存大小的调整(如图2.4):陈能技编著也可以对虚拟机使用的光驱设备进行设置,如图2.5所示:图2.5 调整虚拟机的内存如果即将安装的操作系统文件存放在光盘,可以把光盘放到物理光驱,VM在接下来的安装过程会自动检测到光盘并进行操作系统的安装。
如果没有检测到,或者有多个光驱,也可以通过设置“Usephysical drive”来指定光驱。
如果即将安装的操作系统文件是以iso镜像文件的形式存放在指定的目录,则可以通过设置“UseISO image”来为VM指定操作系统安装盘。
当然,还有另外一种办法是通过安装虚拟光驱软件(例如DAEMON Tools)的方式先对物理光驱进行虚拟,然后在虚拟出来的光驱中装载需要安装的操作系统光盘镜像文件(iso文件),这样VM也能识别出虚拟光驱并进行操作系统的安装。
完成这一系列的配置之后,即可以按“Start this Virtual machine”,或者选择菜单“VM->Power->PowerOn”来启动虚拟机,如图2.6所示。
陈能技编著图2.6 启动VM接下来的步骤就如同在普通的计算机设备上安装操作系统一样,在VM中安装虚拟的操作系统。
在这里就不再赘述了。
经验:在软件测试的日常工作中,经常需要在不同的操作系统平台对同一软件进行测试和兼容性的验证。
测试人员应该在项目前期就准备好这些虚拟机(应该包括常用的操作系统平台),虚拟出各种操作系统并保存好虚拟文件。
这样在需要时可以马上加载相应的虚拟操作系统文件,启动并进行测试。
2.1.4 VMWare的使用技巧安装好虚拟操作系统后,可以把虚拟文件拷贝并保存到某个目录,以备后用。
在需要使用虚拟操作系统时,只要打开虚拟文件即可加载相应的虚拟操作系统,方法是通过选择VM菜单“File->Open”,然后选择后缀为vmx的虚拟机文件,如图2.7所示:陈能技编著图2.7 打开虚拟操作系统文件启动VM之后,可以通过选择菜单“VM->Install Vmware Tools”来安装VM工具包,如图2.8所示。
此工具包的作用是增强虚拟机的图形显示和鼠标操作能力,例如安装之后,可以在虚拟机和主机(运行VM的机器)操作系统之间直接切换,否则需要按“CTRL+ALT”键来切换到主机。
图2.8 安装VM工具包在VM中,如果想通过“CTRL+ALT+Del”组合键来调出“Windows任务管理器”的话,VM将提示如图2.9所示的错误,并提示在VM中需要按“CTRL+ALT+Insert”键来调出“Windows任务管理器”。
图2.9 在VM中按“CTRL+ALT+ Del”组合键技巧:如果想对VM中运行的操作系统进行截屏,可以直接使用VM提供的工具来完成,方法是选择菜单“VM->Capture Screen”。
如果想对在VM中运行的各项操作进行视频录制,可以选择“VM->Capture Movie”来完成。
说明:更多关于VM的操作和使用说明请参考VM的帮助文档。
陈能技编著2.2 Linux安装与配置网站会定期发布全球速度最快的超级计算机500强排名列表。
根据该网站最近发布的排名表单,可以看到其中速度最快的前20台超级计算机所使用的操作系统,有19台使用的是Linux系列的操作系统。
毫无疑问,Linux已经是大多数超级计算机操作系统的不二选择。
(在全球超级计算机500强中,Linux的市场占有率为88.6%)在很多企业的后台服务器上运行的操作系统都是Linux,很多网站也是架构在Linux平台上(所谓“LAMP”中的L就代表的是Linux)。
因此,作为软件测试人员,需要熟练掌握Linux操作系统的基本安装和使用,以便在搭建测试环境和执行各种测试时应付自如。
2.2.1 Linux简介Linux操作系统,是一类Unix计算机操作系统的统称。
Linux操作系统的内核的名字也是“Linux”。
Linux操作系统也是自由软件和开放源代码发展中最著名的例子。
严格来讲,Linux这个词本身只表示Linux内核,但在实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU工程各种工具和软件的操作系统(也被称为GNU/Linux)。
基于这些组件的Linux软件被称为Linux发行版。
一般来讲,一个Linux发行套件包含大量的软件,比如软件开发工具(例如gcc)、数据库(例如PostgreSQL、MySQL)、Web服务器(例如Apache)、X Window、桌面环境(例如GNOME、KDE)、办公套件(例如)、腳本語言(例如Perl、PHP、Python)等等。
Linux內核最初只是由芬兰人Linus Torvalds(图2.10)在赫尔辛基大学上学时处于个人爱好而编写的。
图2.10 Linux创始人Linus TorvaldsLinux内核最初是为英特尔386微处理器设计的,现在Linux内核支持从个人电脑到大型主机甚至包括嵌入式系统在内的各种硬件设备,Linux已经成为了广泛使用和支持的操作系统。
很多人认为,和其他的商用Unix系统以及微软的Windows相比,作为自由软件的Linux具有低构建成本,高安全性,更加可信赖等优势。
陈能技编著2.2.2 Linux下载和安装下面以Red Hat Linux为例,讲解如何在VM上进行安装(Red Hat Linux的安装文件可通过网络下载光盘镜像文件)。
首先新建VM,在VM配置向导中选择“Guest operation system”为“Linux”,“Version”选择“Red Hat Linux”,如图2.11所示:图2.11 安装虚拟Red Hat Linux接下来,确保物理光驱或虚拟光驱中加载了Linux安装盘的第一张盘,或者VM中设置指向了Linux 安装盘的iso镜像文件所在的路径。
然后就可以按照Linux安装程序的指引一步步安装下去。
具体安装过程请参考本书附带光盘中的视频文件:\video\Red Hat Linux 安装.avi。
在这里不再赘述,仅对安装过程中的几个注意点进行描述:1、安装过程中会提示磁盘分区,可以选择“Automatically partition”让Linux安装程序进行自动分区,这是最简单的安装方式,当然也可以自己指定分区方式。
至少两个分区:swap - 交换分区,虚拟内存(2倍物理内存)ext3 / - 根分区(类似于windows的C:\),用于引导,其他分区都挂载在根分区上此外,还可以建以下分区:/home :每个用户的主目录,类似于windows的C:\Documents and Settings\...。
建立分离的/home文件系统可以隔离系统区与非特权用户。
如果有大量的用户要访问系统的话,推荐创建分离的/home文件系统。
/opt :对于大多数UNIX版本,商用软件都安装在/opt目录中。
/usr :/usr目录中包含的是二进制文件,保存所有用户程序,类似于windows的C:\Program Files。
/var :系统日志、事件日志的保存位置,类似于windows的:\windows\system32\config,/var 目录中的/var/log包含系统日志。
/boot :包含引导过程所需的大多数内容,类似于windows中的系统分区。