文档库 最新最全的文档下载
当前位置:文档库 › 基于Linux的软件测试技术及测试工具应用

基于Linux的软件测试技术及测试工具应用

基于Linux的软件测试技术及测试工具应用
基于Linux的软件测试技术及测试工具应用

内容摘要

本文以自己所实习的DeviceVM公司的产品——Splashtop的测试项目为基础,结合自己在测试岗位上所从事的工作,对基于Linux的软件测试技术进行了研究,详细介绍了DeviceVM公司的软件测试流程,并结合现有的测试理论对其测试流程和测试工具进行了分析。最后对如何更好地开展基于Linux的软件测试提出了一些建议。

关键词:软件测试、自动化测试、测试技术、Linux操作系统、Python语言

ABSTRACT

This paper is based on testing project of DeviceVM company where I have worked as an intern product—Splashtop. To combine my testing job, it makes full and deep analysis on Linux-based software testing theories and techniques, present DeviceVM company software testing process in detail, and analysis on its testing processes and testing tools with reference to the current software testing theories. Finally introduce some suggestions on how to do Linux-based software testing better.

KEYWORDS:Software Testing、Automatic Testing、Testing Technology、Linux、Python

正文目录

第一章引言 (1)

第一节选题背景 (1)

第二节研究的意义 (1)

第三节研究的内容 (2)

第二章软件测试理论与工具应用 (3)

第一节软件测试理论 (3)

一、软件测试的产生及发展历史 (3)

二、软件测试的定义 (3)

三、软件测试分类 (4)

四、软件测试技术 (7)

五、软件测试过程 (8)

第二节软件测试工具 (9)

一、黑盒测试工具 (9)

二、白盒测试工具 (10)

三、测试管理工具 (10)

第三章基于Linux的软件测试技术及工具应用分析 (11)

第一节 Splashtop系统介绍 (11)

第二节软件测试技术及流程 (12)

一、软件测试背景 (12)

二、QA测试流程分析 (12)

第三节测试实例 (15)

第四节自动化测试实例 (19)

第四章公司软件测试方法及工具的总体评价 (23)

第一节软件测试方法评价 (23)

第二节软件测试工具评价 (23)

一、软件测试工具的优点 (24)

二、软件测试工具的局限性 (24)

第五章结论 (26)

【参考文献】 (27)

致谢................................. 错误!未定义书签。

第一章引言

第一节选题背景

随着计算机技术的发展,计算机软件正在被广泛地应用到社会的各个领域。为确保软件正确运行,防止由软件引起灾难性事故,开发或选择高质量的软件产品具有重要意义。对软件进行测试和评价是提高软件质量的两个有效途径。

软件在开发和使用过程中都不可避免地存在错误,这些错误使软件开发在成本、进度和质量上都难以控制。而且,软件中的错误带来的损失是多方面的,有的会使软件开发项目以失败告终。例如,IBM公司开发的美国空军后勤系统OS/360,该系统花费2.17亿美元;有的软件投入使用后给用户带来不同程度的影响,有些后果是灾难性的。例如,20世纪90年代中期,美国Therac25型放射治疗仪2号治疗模式发生的54号故障,多次产生超计量辐射,造成了两人死亡和多人受伤的重大医疗事故;1990年1月,美国长途电话中断9小时;1991年2月海湾战争期间,美国“爱国者”系统未能截拦伊拉克“飞毛腿”导弹,导致28人被炸死。还有许多的其他损失,这些都是由软件中的错误所致。多年实践证明,测试是发现软件错误的最有效途径,也成为软件开发中的重要环节之一。

中国软件产业发展相对滞后,自2000年开始紧追世界软件产业发展的步伐,这就对软件测试技术及工具的使用提出了现实的要求,本人实习即是在DeviceVM杭州分公司的软件测试岗位上,软件测试技术及软件工具的使用成为我关注和研究这一领域的选择。

第二节研究的意义

在计算机领域,人们对“软件测试”的认识是随着软件开发的发展而逐渐深入的。最初,人们对软件测试存在着错误的认识,认为测试是对软件的调试,是证明软件正确的过程。伴随着软件生存周期概念的产生及软件工程的实施,人们逐渐认识到,软件测试是软件生存周期中发现错误的过程,是度量软件质量的过程,是保证软件质量的重要手段。

度量软件质量的过程,也就是对软件产品进行质量评价,是继对软件开发过程进行质量管理和对软件进行测试之后的又一个推动软件质量提高的重要手段,是软件业今后的发展方向。实践证明,在软件开发过程中软件供方根据质量需求适时地对软件中间产品的质量进行评价,能够尽早发现软件问题,从而能够及时纠正问题、降低成本、控制进度,并且保证了软件最终产品的质量;

而软件的需方在购买现货软件或定制软件时,通过质量评价,能够了解软件产品能否满足系统需求、是否是最适合的产品。总之,软件质量评价为改进开发过程、提高软件质量、为软件验收和鉴定提供了客观、公正的科学依据。

按照Myers的定义,测试是为了发现程序中的错误。实际中,软件测试把一套测试用例设计方法与不同级别实施的测试结合起来,发现了大多数隐藏在软件中的错误,从而保证了软件质量。令人遗憾的是,软件测试不能发现所有的软件错误。另一方面,通过测试,可以验证软件需求和性能指标等是否满足用户要求,从而给软件开发者和用户建立一个信心。虽然软件测试是软件质量保证工作中的重要一环,但它不能取代其他软件质量保证工作。正如IBM在总结航天飞机软件开发的成功经验时指出的,“一是认真实施软件工程”,“二是特别加强软件检测”。只有综合利用各种手段,才能使软件质量得到有利保证。

第三节研究的内容

本文通过软件测试相关资料的收集、文献的阅读,并结合在DeviceVM公司的具体实践,通过在软件测试项目上的测试任务及所完成的测试工作,以实习公司的测试流程为背景,对基于Linux的软件测试技术及测试工具应用进行论述,并得出相关结论,提出参考性的过程改进意见及建议。

第一章结合自身的实习经历介绍了选题的背景,并对研究的意义和研究的内容进行了阐述。第二章通过软件测试的文献及资料的收集和整理,论述了软件测试理论与工具应用。第三章结合公司的项目背景,根据该公司的软件测试流程,分析了基于Linux的软件测试技术及工具应用。第四章结合本人实习中的工作任务及公司的测试流程,对测试方法及工具的做出了总体评价。第五章得出结论,并提出了建设性的意见及建议。

第二章软件测试理论与工具应用

第一节软件测试理论

一、软件测试的产生及发展历史

20世纪60年代(软件工程建立前),为表明程序正确而进行测试。1972年在北卡罗来纳大学举行了首届软件测试正式会议。1975年John Good Enough 和Susan Gerhart在IEEE上发表了《测试数据选择的原理》的文章,软件测试被确定为一种研究方向。1979年,Glenford Myers的《软件测试的艺术》,对测试做了定义:测试是为发现错误而执行的一个程序或者系统的过程。20世纪80年代早期,“质量”的号角开始吹响。软件测试定义发生了改变,测试不单纯是一个发现错误的过程,而且包含软件质量评价的内容。制定了各类标准。1983年,Bill Hetzel在《软件测试完全指南》中指出:测试是以评价一个程序或者系统属性为目标的任何一种活动,测试是对软件质量的度量。20世纪90年代,测试工具盛行起来。1996年提出的测试能力成熟度TCMM(Testing Capability Maturity Model)、测试支持度TSM(Testability Support Model)、测试成熟度TMM(Testing Maturity Model)。到了2002年,Rick和Stefan在《系统的软件测试》一书中对软件测试做了进一步定义:测试是为了度量和提高被测软件的质量,对测试软件进行工程设计、实施和维护的整个生命周期过程。

二、软件测试的定义

(一)早期定义

在1979年出版的一本经典著作《软件测试的艺术》(The art of software testing)中,Glenford Myers曾经对软件测试下过如下的定义:软件测试就是为了发现错误而执行程序或系统的过程。这一定义明确指出软件测试是以“寻找错误”为目的,他把软件测试的目的和手段搞混了,发现错误仅仅是软件测试的手段而已,软件测试的最终目的是检验实际的软件系统是否符合用户需求,所以不能为了发现错误而发现错误。当然,在当时的环境下,这个定义是说得通的,因为那是的用户需求、质量保证等概念比较模糊,测试也仅仅是编码后的一个阶段,测试的主要工作也是用来发现错误的。

(二)标准定义

1.狭义定义

使用人工或自动手段,来运行或测试某个系统的过程。其目的在于检验它是否满足规定的需求或弄清楚预期结果与实际结果之间的差别(1983,IEEE软件工程标准术语)。这一定义指出了软件测试是通过运行程序以检验软件是否满足软件需求的一个过程,是狭义的软件测试概念。这一定义相对来说比较完善,但也有不足之处,比如“运行或测试某个系统”,软件测试并不一定要运行系统,测试的定义中也不应该再出现测试的字眼。

2.广义定义

由于在软件开发的需求分析、设计、编码实现的各阶段都可以把错误引入软件中,为了及时地发现并解决这些错误,避免对软件质量和开发后期工作地影响,需要在软件开发过程中不断地对软件进行复查、评估、检验,确定系统或部件的需求是否完成和正确,每一开发阶段的产品是否实现了在上一阶段规定的需求或条件,以及最后的系统或部件是否依从规定的需求。这些贯穿于软件开发各阶段的复查、评估与检测活动,被统称为软件测试。这种定义超出了狭义上的软件测试的范围,包含了对软件的确认和验证,是软件测试的广义概念。

三、软件测试分类

目前软件测试领域有许多测试名称,这些名称来自于不同的分类原则,以下是常见测试名称的分类。

(一)按测试阶段或测试步骤划分

按测试阶段或测试步骤来分,有单元测试(unit testing)、集成测试(integration testing)、系统测试(system testing)和验收测试(acceptance testing)。单元测试,是指对软件中的最小可测试单元进行检查和验证。单元就是人为规定的最小的被测功能模块。目前,国内的很多软件公司的单元测试还很不正规,只是由开发人员来简单地编译和调试一下自己的程序,没有相应的单元测试计划、单元测试用例和代码覆盖率的统计。集成测试,是指将通过测试的单元模块组装成系统或子系统,再进行测试,重点测试不同模块的接口部分。系统测试,指的是将整个软件系统看作一个整体进行测试,包括对功能、性能,以及软件所运行的软硬件环境进行测试。验收测试,指的是系统测试的后期,以用户测试为主,或有测试人员等质量保障人员共同参与的测试,它也是软件正式交给用户使用的最后一道工序。在验收测试中,按照测试的方式又有Alpha测试和Beta测试。这两种测试针对的是由多用户使用的软件,由用户来发现那些似乎只有最终用户才能发现的错误。Alpha测试是这样的测试,在开发方的场所,用户在开发人员的指导下对软件进行测试,测试是受控的,开发人员负责记录错误和使用中出现的问题;Beta测试由软件

的最终用户在一个或多个用户场所来进行,开发人员通常不在现场,整个测试不被控制,用户记录下所有的问题,并报告给开发人员。很多软件都有Beta 版,比如QQ2009 Beta版、网络游戏Beta版等。其目的是交给用户免费试玩,再根据用户的反馈去修改软件,这个过程中即使有些错误也能被用户理解和接受。Alpha测试和Beta测试都不能由软件开发人员或测试人员完成。

这种划分来自于软件的开发过程,目的是验证软件开发过程各阶段的工作是否符合需求和设计要求。在软件单元完成编码后,首先进行单元测试,验证软件单元是否正确实现了规定的功能和接口等要求;在确认没问题后,将软件单元组装在一起进行集成测试,验证软件是否满足软件需求规格说明的各项需求;最后使通过验收测试的软件与其他系统成分组合在一起,并使其在实际运行环境中运行,进行系统测试。

(二)按测试对象划分

按测试对象来分,有单元测试、部件测试、配置项测试和系统测试。(三)按使用的测试技术划分

按使用的测试技术来分有静态测试和动态测试,他么代表了程序不同的运行状态。动态测试又分为白盒测试和黑盒测试,白盒测试包括逻辑覆盖测试、域测试、程序变异测试、路径测试、符合测试等,黑盒测试包括功能测试、强度测试、边界值测试、随机测试等。

(四)按软件质量特性划分

按软件质量特性来分,有功能性测试、可靠性测试、易用性测试、效率测试、可移植性测试和维护性测试。

(五)按测试项目划分

按测试项目来分,有功能测试、性能测试、接口测试、强度测试、可靠性测试、安全性测试、人机界面测试、健壮性测试、恢复测试、安装测试、压力测试、兼容测试、负载测试、文档测试等。

1.功能测试

主要针对软件/产品需求规格说明的测试,验证功能是否符合需求,包括原定功能的检验、是否有冗余功能、遗漏功能。

2.性能测试

测试软件是否达到需求规格说明中规定的各类性能指标,并满足相关的约束和限制条件。

3.接口测试

测试被测对象与其他软件(包括软件单元、部件、配置项)或硬件的接口。

4.强度测试

使软件在其设计能力的极限状态下、进而超过此极限下运行。检验软件对异常情况的抵抗能力。

5.可靠性测试

这里是比较狭义的可靠性测试,它主要是对系统能否稳定运行进行一个估计。

6.安全性测试

测试软件在没有授权的内部或者外部用户的攻击或者恶意破坏时如何进行处理,是否能保证软件和数据的安全。

7.人机界面测试

对人机界面提供的操作进行测试,测试人机界面的有效性、便捷性、直观性等,如用户界面是否友好、是否方便易用、设计是否合理、位置是否正确。

8.健壮性测试

侧重于软容错能力的测试,主要是验证软件对各种异常情况(如数据边界、非法数据、异常中断等)是否进行正确处理。

9.恢复测试

对每一类导致恢复或重构的情况进行测试,验证软件自身运行的恢复或重构,软件控制的系统的恢复或重构以及系统控制的软件的恢复或重构。

10.安装测试

安装测试主要检验软件是否可以正确安装,安装文件的各项配置是否有效,安装后能否影响原系统,卸载后是否删除干净,是否影响原系统等。

11.压力测试

对系统不断施加压力的测试,通过确定一个系统的瓶颈或者不能接收的性能点,获得系统能提供的最大服务级别的测试。例如测试一个Web站点在大量的负荷下,何时系统的响应会退化或失败。压力测试注重的是外界不断施压。

12.兼容测试

测试软件在一个特定的硬件/软件/操作系统/网络等环境下的性能如何。

13.负载测试

负载测试是性能测试的一种,通常是指让被测系统在其能忍受的压力的极限范围之内连续运行,来测试系统的稳定性。

14.文档测试

测试开发过程中生成的文档,以需求规格说明、软件设计、用户手册、安装手册等为主,检验文档是否和实际存在差别。文档测试不需要编写测试用例。

(六)回归测试、冒烟测试、随机测试

这3个概念很重要,但是它们既不算是测试阶段,也不算是具体的测试方法。回归测试(regression testing),是指对软件的新的版本测试时,重复执

行上一个版本测试时的用例。回归测试可以再任何测试阶段进行,既有黑盒测试的回归,也有白盒测试的回归。冒烟测试(smoke testing),是指对一个新版本进行系统大规模的测试之前先验证一下软件的基本功能是否实现,是否具备可测性。冒烟测试和回归测试往往结合起来使用:每当我们拿到一个新版本时,都首先进行冒烟测试,如果通过,则进行回归测试。随机测试(random testing),是指测试中所有的输入数据都是随机生成的,其目的是模拟用户的真实操作,并发现一些边缘性的错误。

四、软件测试技术

软件测试技术主要有两大类:静态测试技术和动态测试技术。

(一)静态测试

静态测试是不执行程序代码而采用其他手段寻找文档和代码中可能存在的错误或评估程序代码的过程。静态测试可以手工进行,也可以借助软件工具自动进行。静态测试技术主要用于软件单元、部件的源代码、在狭义的测试概念范畴,静态测试技术主要包括桌面检查、代码审查、代码走查和静态分析。

1.桌面检查

桌面检查通常是在程序通过编译之后,由人工模拟程序执行情况,逐步检查源代码清单、测试结果或其他文档,以发现其中有无逻辑或语法错误、对标准的违反或其他错误情况。

2.代码审查

代码审查是通过对程序的可视检查,以发现软件错误、对开发标准的违反情况以及其他问题的一种有效地静态测试技术。IBM的统计数据显示,用代码审查发现的错误占全部查出错误的80%。

3.代码走查

代码走查与代码审查有些相似,也是由一组程序和错误检查技术组成,只是所用的技术不同于代码审查。代码走查过程由准备、生成测试实例、会议走查、形成报告4个步骤组成。

桌面检查、代码审查和代码走查3种技术比较而言,后两种比第一种更能有效地发现软件错误。Myers研究发现,代码审查和代码走查平均查出全部错误的38%。而且与其他测试技术相比,代码审查和代码走查也有许多优点。例如,当发现错误时,代码审查和代码走查知道错误的性质和位置,不需要开发人员用大量的时间去寻找错误的位置。

4.静态分析

静态分析师一种对程序代码进行机械性、程序化的特性分析方法,一般包括控制流分析、数据流分析、接口分析、表达式分析。

(二)动态测试

动态测试是在抽样测试数据上执行软件并分析输出以发现错误的过程。根据测试理论,如果抽样测试数据满足一定要求,那么测试可以发现软件中的大多数错误。

动态测试的优点是:通过实际运行被测软件,可获得软件运行的实际情况。但这也给动态测试提出了要求,即软件的运行需要实际运行环境、输入数据及输出处理,有时还需要有控制运行的手段。因此,动态测试的工作量很大。

动态测试需要测试数据,如何用少的测试数据发现尽可能多的软件错误是动态测试的关键,黑盒测试和白盒测试就是两类从不同方面设计测试数据的方法,灰盒测试是这二者的一种有效结合。

1.白盒测试

白盒测试又称结构测试、逻辑测试或基于程序的测试,这种测试是对软件的内部结构和工作原理进行检查。常用的白盒测试技术有逻辑覆盖、数据流测试、基本路径测试、域测试、程序插装、符合求值、程序变异、弱程序变异。

2.黑盒测试

黑盒测试又称功能测试、数据驱动测试或基于规格说明的测试。顾名思义,黑盒测试是把被测程序看成是内部不可见的黑盒子,测试人员完全不考虑程序内部逻辑结构和内部性,也不考虑程序中的语句及路径,只依靠软件的需求规格说明、设计文档或用户手册等相关资料,根据软件的功能及输入和输出关系设计测试用例,检查软件是否符合需求。常用的黑盒测试技术有:功能分解等价类划分法、边界值分析法、判定表法、因果图法、随机测试、猜错法、正交验证法、域测试、场景法、功能图法。

3.灰盒测试

灰盒测试是近年来提出的,它是介于黑盒测试和白盒测试之间的一种测试技术。灰盒测试结合了白盒测试和黑盒测试的要素,基于白盒方法分析软件结构的逻辑覆盖,基于黑盒方法生成满足覆盖条件的输入和输出组合的测试数据。在关注输出对于输入的正确性的同时,也关注了软件的内部结构。但它关注软件内部结构不像白盒测试那样详细和完整,它通过一些表征性的现象、事件、标志来判断软件内部的运行状态。

五、软件测试过程

(一)测试策划阶段

在测试策划阶段,测试人员应对测试要求(例如合同、项目计划、任务书等)及被测软件进行分析,规划整个测试过程。策划的启动时间不应太晚,否

则会影响到整个测试工作。同时软件开发方应尽早向测试方提供受控的、版本明确的被测软件(包括文档、程序和数据)。测试策划阶段的主要活动有12项,他们是确定测试目标、确定测试需求、确定测试技术和方法、确定充分性要求、确定终止要求、确定资源要求、确定测试通过准则、确定测试进度、风险分析、确定工作产品、编制文档、阶段评审。

(二)测试设计和实现阶段

软件测试设计和实现阶段的工作由测试设计人员和测试程序员按照上一阶段制定的测试计划来实施。该阶段的主要活动有:设计测试用例、设计和获取测试数据、获取测试资源、开发测试程序、建立和校准测试环境、编制文档、评审。

其中设计测试用例的目的是告诉测试人员“怎样测”,它是软件测试核心,也是软件测试的难点。所谓测试用例就是在测试活动中为特定目的开发的一组测试输入、执行条件和期望结果。有效的测试用例能够覆盖用户的需求并发现软件中存在的错误,避免测试的盲目性,提高测试效率。测试用例的设计不仅需要采用适当的技术和方法,还要遵守一些规则,这样才能保证测试用例是有效地。这些原则有:基于测试需求原则、基于测试技术原则、可重复性、不要使单个测试用例覆盖过多的条件、明确测试期望结果。

(三)测试执行阶段

测试执行阶段的工作由测试执行人员完成,主要工作是执行测试计划和测试说明中规定的测试用例。在执行过程中,测试人员应认真观察并如实记录测试过程,测试结果和发现的问题,认真填写测试记录。

(四)测试总结阶段

测试总结阶段的活动主要有分析测试结果、编制测试报告、评审。

第二节软件测试工具

根据应用领域,一般将软件测试工具分为黑盒测试工具、白盒测试工具和测试管理工具3类。

一、黑盒测试工具

黑盒测试工具是指测试软件功能或性能的工具,主要用于系统测试和验收测试;其又可分为功能测试工具盒性能测试工具。常见的性能测试工具是MI(Mercury Interactive)公司的LoadRunner,是跨平台的,可以安装运行在Windows、Linux等多种操作系统,主要用于C/S和B/S结构的软件系统测试,其通过模拟虚拟的并发用户数来对被测系统进行压力测试。常见的功能测试工

具是MI公司的WinRunner,是基于Windows操作系统的,通过脚本的录制和回放来进行自动化的功能测试,另外还有QTP(Quick Test Professional)。

二、白盒测试工具

白盒测试工具是指测试软件的源代码的工具,可以实现代码的静态分析、动态测试、评审等功能,主要用于单元测试。常见的工具是Telelogic公司的Logiscope,C++Test等。

三、测试管理工具

测试管理工具是指管理整个测试流程的工具,主要功能有测试计划的管理、测试用例的管理、缺陷跟踪、测试报告管理等,一般贯穿于整个软件测试生命周期。常见的工具是MI公司的TestDirector,它是B/S结构的软件,方便测试人员合作和沟通。可以实现需求管理、测试计划管理、用例管理、缺陷管理,能和改公司的其他测试工具很好的集成,并具有强大的图表统计功能,会自动生成丰富的统计图表。

所有的测试工具都可以归到上面的3个大类里面,比如一些数据库测试工具,链接测试工具可以归到黑盒测试工具里面,一些缺陷管理工具如Bugzilla、Mantis可以归到测试管理工具里面,但有时缺陷管理工具也可以自成一类。

第三章基于Linux的软件测试技术及工具应用分析

数年前,知道Linux的人群还很少,从事Linux的公司也基本处于培育市场阶段,相比国外,Linux在中国的发展处于初级阶段。而如今,Linux在很多中小企业的应用已经悄然登上了台面。我所实习的DeviceVM公司就是这样一家以Linux为核心技术的公司。

第一节 Splashtop系统介绍

Splashtop是一个即时启动系统,无需启动主操作系统即可快速访问网络和常用程序,Splashtop是预先集成在台式电脑或笔记本电脑里的小型Linux 系统,系统里已经安装了常用程序,能在网上冲浪,收发邮件,观看视频,和朋友聊天,拨打VOIP电话,所有这一切都在打开电脑电源后几秒内完成。Splashtop由两大部分组成。一部分是在系统BIOS里的实时操作系统,另一部分是优化过的Linux系统,能快速启动,运行绝大部分基于Linux的应用程序。主要由以下几个应用程序组成:

Splashtop? 浏览器:在按下电源开关数秒后就能做到上网冲浪,和Skype 上的朋友和同事聊天,观看照片,聆听数字音乐,所有这一切,都可以在传统操作系统开机启动之前就能享受。它是基于Firefox2技术的网页浏览器,功能齐全,能像Firefox一样的分页式浏览,播放Flash视频和玩游戏,阻止弹出式广告。

Splashtop? 音乐播放器:通过Splashtop音乐播放器,可以聆听存储在硬盘或外置存储介质上的数字音乐。

Splashtop? 照片管理器:浏览电脑上的照片,创建相册,欣赏幻灯,上传照片。通过Splashtop照片管理器,可以让一切更简单快捷。

Skype?:通过Skype从电脑上拨打全世界各地的固定电话和手机,节省费用。

Splashtop? 聊天:使用流行的即时软件和朋友沟通,如ICQ,MSN,Yahoo 通,AOL即时通信软件或QQ等。

Splashtop?控制面板:实现对系统各种设置的功能。

第二节软件测试技术及流程

一、软件测试背景

该公司有自己独立的软件测试部门——QA(quality assurance),有自己的软件测试项目经理,由于是一家外资企业公司,为了便于交流,公司内部交流文档以及工作文档都统一使用英语。测试的内容主要是测试Splashtop在华硕的台式机的不同型号主板、各大笔记本生厂商的对应型号笔记本上的兼容性,主要采用测试的技术是黑盒测试。

二、QA测试流程分析

本人通过在该公司的实习,对QA的测试流程作了许多记录,现将测试流程做如下归纳:

(一)从项目经理/研发部门得到项目规格说明或需求。

在这个过程中QA项目经理要做好如下工作:

1.测试人员的工作分工及任务和必要的培训。

2.平台(platform)和VA①的测试计划实施:从文件服务器上得到测试

计划/测试用例的样板;清楚地识别出所有定制项目作为在测试计划中

的测试项目;尽量多地列出重要的里程碑(Milestone)②,例如

internal(alpha), global(beta), RC③, GM;基本上,STP(Software

Test Plan)是一个给外部OEM(Original Equipment Manufacture)

需求的标准文档,STP会根据要求来做,不会根据默认值传送。

3.platform 和VA的测试用例的实施。

4.创建测试机器信息。

5.在Mantis④上创建项目。

6.创建项目任务管理器。

7.在服务器上创建相关文件。

(二)研究学习

①虚拟工具,Virtual Appliance 的简称,指在VAE中制定的应用程序,这些应用程序会为了这种特殊的环境做合适的配置。VAE:Virtual Appliance Environment的简称,一个具备所有的驱动,库文件,用户界面来安装,运行,配置虚拟工具(VA)。

②里程碑,即预定的每个阶段完成的时间。

③候选发行版本,Release candidate的简称。

④是一个基于PHP技术的轻量级的开源缺陷跟踪系统,以Web操作的形式提供项目管理及缺陷跟踪服务。

在这个过程中包括了测试成员的训练,以及对早期版本的学习;程序的研究学习和规格说明的学习。

(三)准备QA文档

QA文档按照先后顺序分别是写测试计划、写测试用例。在这个过程中,如果必要的话,从杭州QA这里请求各个VA的更新的STP/STC,杭州QA为了保证VA质量会对所有的VA进行一个常规的周期测试,如果没有特殊的要求,在项目新版本发行测试中该项目只能给各个VA做一个简单的测试。

(四)进行测试并修复Bug

这一步是测试的核心环节,研发部门(RD)开发好应用程序后,交给测试小组的系统集成负责人使用集成工具对应用程序进行打包(make build)将文件打包成sqx⑤文件(将此文件添加到Splashtop系统),如果集成失败,就交回给RD重新打包;如果成功就进入下一环节,由测试人员对系统做内部发行版本(Internal release)测试,其输出有:功能控制列表(Features control list)、内部检查列表结果(Internal check list result)、内部版本检查列表的测试结果(Internal release check list’s test result)、新版本发布的注意点(Release note)、QA的内部发行版本注意点(Internal release note for QA)、写正式的QA测试注意事项邮件(Enter formal QA test notice mail)。

如果没有通过QA的检查,就通知系统集成人员拒绝RD的程序,让其重新打包,以上所有测试只能在1到2个稳定的测试机上应用,到这一阶段发现的bugs 不会进入Mantis。在这一过程中,QA项目经理的工作是确认基本测试项目是否通过测试,包括启动时间需要符合基本需求(不比前面的版本慢),在功能控制列表中的各种功能能很好的运作,通过所有的在内部发行版本检查列表中测试项目;当版本准备好并通过了他的基本测试,系统集成人员会发送一个内部发行版本注意事项;QA项目经理通知系统集成人员发送一个邮件接收或者拒绝进入正式的QA测试。

如果通过了检查,就进入了正式的QA测试,这其中包括了系统测试(System test)、回归测试(Regression test)、安装测试(Installation test)、本地化测试(Localization test)⑥、帮助文档测试,在这些测试当中有一部分都是通过自动化测试(Auto test)来实现的,例如,对Splashtop浏览器进行在Alexa⑦排名前一百的网站就是否能正常访问进行测试,VA——游戏(Gaming)的测试,局域网的测试,WiFi测试,本地化测试,各个VA主要项目

⑤是组成Splashtop系统文件。如chat.sqx

⑥即对软件在不同的地域中兼容性的测试,如测试Splashtop系统语言在中国使用汉语的环境中语言显示是否正确。

⑦Alexa在1996年4月在美国创建,是一家专门发布网站世界排名的网站。

测试。正式的QA测试结束后会产生一个质量报告,现在的系统就是一个外部版本(External release)。系统测试的内容是压力测试、内存泄漏测试、性能测试、电源管理器测试,安全性测试。这些测试都有一个常规的周期可能是1个星期/2个星期/1各月,这个阶段的bugs开始进入Mantis。在这一过程中,QA项目经理的工作是对项目测试人员做合适的工作分工,谁测试项目的那一部分及谁测试那一台机器等;根据STC对测试项目做出合适的判断,是否在资源或进度上有所限制的情况,通过关于特定的目标机器上的测试用例的完整测试,测试高优先级用例时,如果资源或时间不充足,至少要完成在不同机器上进行兼容性测试;当正式QA测试完成时发送质量报告;如果必要召开bug回顾会议。(五)发布该版本(RC/GM)

由QA项目经理根据软件的质量及客户的要求决定是否把外部版本发布给客户,如果不发布那么就把他交还给RD,等到下一个常规的版本发布(regular release)用;如果发布该系统就作为RC或常规的外部版本发布。在一个新版本发布后OEM会根据用户的使用反馈及发现的一些问题要求对系统做一些系统补丁(Patch),由研发部做出相应的修改打入补丁后再交付给客户。在这个过程中,QA项目经理的工作是发送项目测试报告;发送质量报告给该项目经理,由他决定是否能在RC之前作为一个外部发行版本;如果有必要,在RC之前和项目经理为下一个发行版本确认需求。

对该过程做出了图解,如图3-1:

图3-1 QA软件测试流程

第三节测试实例

本节例举了一些工作中的测试实例。该例子是以华硕的笔记本某一型号为测试项目,根据该项目平台测试中的软件测试用例(STC),取出了其中一部分——安装测试中的一个升级(upgrade)的测试用例对其进行探讨。

该测试用例共有10个要素:测试计划编号(Test Plan ID)、功能类型(Function Type)、测试项目(Test Items)、测试用例编号(Test Case ID)、测试结果(Result)、测试步骤(Test Steps)、预期结果(Excepted Result)、优先级(Priority)、时间(Time)、评论(Comment)。本测试用例把升级这一功能分成了两个测试点:正常升级和静态升级。然后分别根据这两个测试点给出的测试步骤对其进行测试,最后如有异常现象把结果记录在评论这一栏。本人在正常升级测试过程中发现了一个Bug,就是在安装了前一个版本1.4.4.0后再升级到最新版本 1.4.5.0,安装好重启后桌面背景会出现异常,桌面完全模糊,甚至看不清楚各个VA,用户将会无法使用系统,这是个不能接受的错误。于是把Bug上报给小组长,很快负责相应功能实现的RD程序员就过来向我了解情况,并且确认了这的确是一个Bug,本人和该程序员谈了自己的想法,据我自己估计是主题(Theme)的问题,之后该程序员就回去检查引起这个Bug原因,QA 这边把这个bug上报到EPC⑧里的Bug跟踪系统当中。表3-1列出了这个测试用例。

⑧是DeviceVM公司的一个集成了缺陷跟踪、员工论坛、消息发布、资产管理等功能的综合型网站。

表 3-1 安装测试用例(部分)

图书管理系统软件测试方案

软件测试设计方案 2011级软件工程公司 版权所有不得复制 文档变更记录 班级学号姓名 软件六班 20112601616 文章 软件六班 20112601626 唐晓兰 软件六班 20112601627吴轲 文档信息

版本历史 审核记录得分:签名: 目录 0. 文档介 绍 ............................................................................................................................ 5 0.1文档目的 ....................................................................................................................... 5 0.2 文档范围 (5) 0.3读者对象 ....................................................................................................................... 5 0.4参考文献 ....................................................................................................................... 5 1. 接口-路径测试用 例 ......................................................................................................... 6 1.1被测试对象(单元的介绍 ........................................................................................ 6 1.2测试范围与 目的 . ........................................................................................................... 6 1.3测试环境

2015北邮软件测试技术 阶段作业一

一、判断题(共5道小题,共50.0分) 1.(错误)使用低级录制前无须开启正常录制模式,直接使用快捷键Ctrl+Shift+F3即 可。 A.正确 B.错误 知识点: 第一次阶段作业1 学生答案: [A;] 标准答 案: B; 得分: [0] 试题分 值: 10.0 提示: 2. 3.开启模拟录制模式前的必要条件是开启正常录制模式。 A.正确 B.错误 知识点: 第一次阶段作业1 学生答案: [A;] 标准答 案: A; 得分: [10] 试题分 值: 10.0 提示: 4. 5.QTP在录制过程中,遇到部分Web事件无法模拟操作,此时的解决方案就是进入 Web Event Recording Configuration设置框并将Event configuration level提升至最高的High等级即可解决所有问题。 A.正确 B.错误 知识点: 第一次阶段作业1 学生答案: [B;] 标准答 案: B; 得分: [10] 试题分 值: 10.0 提示: 6.

7.自动化测试的一个重要理念:测试数据和脚本业务的抽离。 A.正确 B.错误 知识点: 第一次阶段作业2 学生答案: [A;] 标准答 案: A; 得分: [10] 试题分 值: 10.0 提示: 8. 9.GetTOProperties()获取对象库中某个对象的所有属性的值。 A.正确 B.错误 知识点: 第一次阶段作业2 学生答案: [A;] 标准答 案: A; 得分: [10] 试题分 值: 10.0 提示: 10. 二、多项选择题(共5道小题,共50.0分) 1.下面描述中,哪几项是向QTP对象库添加对象的步骤。 A.第一步,点击Add Object to Local按钮,在点击后会出现一个白色手指。 B.第二步,拖动白色手指至待添加的对象上,点击鼠标左键。 C.第三步,只有被点击的对象被添加至对象库中,其父对象不会被添加至对象 库中。 D.第四步,最终确认要添加的对象,确认无误后点击OK按钮。 知识点: 第一次阶段作业1 学生答案: [A;B;D;] 标准答 案: A;B;D; 得分: [10] 试题分 值: 10.0 提示:

软件测试工程师管理系统需求分析

版本说明

目录 1引言 (3) 1.1编写目的 (3) 1.2项目背景 (3) 1.3定义 (3) 1.4参考资料 (3) 2项目概述 (3) 2.1软件总体说明 (3) 2.2总体数据流图 (3) 2.3使用者的特点 (4) 2.4条件和限制 (4) 3运行环境 (4) 3.1运行软件系统所需的设备能力 (4) 3.2支持软件环境 (4) 3.3接口 (4) 3.4故障处理 (4) 4软件详细要求 (4) 4.1性能需求 (4) 4.2功能需求 (4) 4.2.1输入工程师资料 (5) 4.2.2删除指定工程师资料 (5) 4.2.3查询指定工程师资料 (6) 4.2.4修改指定工程师资料 (6) 4.2.5计算工程师月薪水 (6) 4.2.6保存工程师资料 (6) 4.2.7输入工程师资料 (6) 4.2.8输出工程师资料 (6) 4.2.9清空所有工程师资料 (6) 4.2.10打印工程师资料信息报表 (6) 4.2.11从文件重新得到工程师资料 (7) 4.2.12退出系统 (7) 5数据需求 (7)

1引言 1.1编写目的 本软件需求规格说明的目的在于为《软件测试工程师管理系统》项目的开发提供: a.提出软件总体要求,作为软件开发人员和最终使用者之间相互了解的基础; b.提出软件功能要求、性能要求、接口要求、数据结构等要求,作为软件设计和程序编制 的基础; c.为软件测试提供依据。 本软件需求规格说明的读者对象主要是项目主管、软件设计人员和最终用户。 1.2项目背景 该项目的实施主要是为提高北京梅梅公司的人事管理效率而编制的。 1.3定义 1.4参考资料 a.《软件测试工程师管理项目条款》—北京梅梅公司。 2项目概述 2.1软件总体说明 本项目的目标是完成一个计算机人事管理系统,实现人事管理的自动化。系统的主要功能包括:人事信息的录入、管理、查询、删除、生成报表等。 进入本系统提供用户选择菜单,要求人机界面友好,具有错误处理和故障恢复能力。 2.2总体数据流图 按照功能设计,系统数据流图如下: 图一:系统数据流图

软件测试基本流程及要求

软件测试基本流程与要求(提纲) 1目标 制定完整且具体的测试路线和流程,为快速、高效和高质量的软件测试提供基础流程框架。 最终目标是实现软件测试规范化,标准化。 2测试流程说明

3测试需求分析 测试需求是整个测试过程的基础;确定测试对象以及测试工作的范围和作用。用来确定整个测试工作(如安排时间表、测试设计等)并作为测试覆盖的基础。而且被确定的测试需求项必须是可核实的。即,它们必须有一个可观察、可评测的结果。无法核实的需求不是测试需求。所以我现在的理解是测试需求是一个比较大的概念,它是在整个测试计划文档中体现出来的,不是类似的一个用例或者其他. ·测试需求是制订测试计划的基本依据,确定了测试需求能够为测试计划提供客观依据; ·测试需求是设计测试用例的指导,确定了要测什么、测哪些方面后才能有针对性的设计测试用例; ·测试需求是计算测试覆盖的分母,没有测试需求就无法有效地进行测试覆盖; 3.1测试方法与规范 3.1.1测试方法 随着软件技术发展,项目类型越来越多样化。根据项目类型应选用针对性强的测试方法,合适的测试方法可以让我们事半功倍。以下是针对目前项目工程可以参考的测试方法: ?β测试(beta测试)--非程序员、测试人员 β测试,英文是Beta testing。又称Beta测试,用户验收测试(UAT)。

β测试是软件的多个用户在一个或多个用户的实际使用环境下进行的测试。开发者通常不在测试现场,Beta测试不能由程序员或测试员完成。 当开发和测试根本完成时所做的测试,而最终的错误和问题需要在最终发行前找到。这种测试一般由最终用户或其他人员完成,不能由程序员或测试员完成。?α测试(Alpha测试)--非程序员、测试人员 α测试,英文是Alpha testing。又称Alpha测试. Alpha测试是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的受控测试,Alpha测试不能由该系统的程序员或测试员完成。 在系统开发接近完成时对应用系统的测试;测试后,仍然会有少量的设计变更。这种测试一般由最终用户或其他人员来完成,不能由程序员或测试员完成。?兼容性测试--测试人员 兼容性测试是指测试软件是否可以成功移植到指定的硬件或者软件环境中,例如在B/S项目中各个不同浏览器之间的测试。 ?用户界面测试-UI测试--测试人员 用户界面测试,英文是User interface testing。又称UI测试。 用户界面,英文是User interface。是指软件中的可见外观及其底层与用户交互的部分(菜单、对话框、窗口和其它控件)。 用户界面测试是指测试用户界面的风格是否满足客户要求,文字是否正确,页面是否美观,文字,图片组合是否完美,操作是否友好等等。UI 测试的目标是确保用户界面会通过测试对象的功能来为用户提供相应的访问或浏览功能。确保用户界面符合公司或行业的标准。包括用户友好性、人性化、易操作性测试。

软件工程与软件测试阶段作业及答案

2018年春季软件工程与软件测试阶段作业及答案 第三次阶段作业得分100分 一、判断题(共8道小题,共40.0分) 1、软件耦合性是一个差的架构设计的标志,它总是能够在每个系统被避免。错误 2、软件工程师总是需要从头开始创建组件,以充分满足客户的期望。错误 3、如果过去的交互模型已经确定创建了用户的期望,那变化模型一般是不好的。正确 4、安全测试尝试验证保护机制,该机制建立在系统内保护系统不受非法入侵。正确 5、在软件质量保证工作中,软件验证和软件确认之间没有区别。错误 6、面向对象软件的类测试相当于传统软件的单元测试。正确 7、边界值分析只能用来做白盒测试。错误 8、等价划分测试将程序输入域划分为若干数据类,从中生成测试用例,由此减少所需设计测试用例的数量。正确 二、单项选择题(共12道小题,共60.0分) 1、下面哪个是用来描述程序细节的图形符号?D 流程图 2、在传统的软件工程,模块必须符合下列哪些角色?D 以上全部 控制构件 基础设施构件 问题域构件 3、对几乎每一个用户界面来说,几个常见的表面设计问题,包括 错误信息处理 响应时间 4、被下面那个角色完成的界面可用性调查问卷,对界面设计是最有意义的。C 产品用户 5、下面这些框架活动,哪一项不是通常与用户界面设计过程有关? A、成本估算 6、自顶向下的集成测试,它的主要优点是 重大决策点被早期测试 不需要写驱动程序 7、自底向上的集成测试,它的主要优点是C不需要写桩程序 8、下面那个顺序是传统软件测试的正常顺序? C、单元测试、集成测试、系统测试、确认测试 9、循环测试是一种控制结构测试技术,通过使用什么样的标准来设计测试用例。 D、集中测试循环结构的有效性 路径测试:依靠基本路径测试 条件测试:检查程序模块中的逻辑条件 数据流测试:选择基于变量的定义和使用位置为基础的测试路径黑盒测试 10、需要设计测试用例,证明软件模块内部逻辑的测试被称为什么测试?D、白盒测试 11、需要设计测试用例,证明每个程序的功能是可操作的测试被称为什么测试?A、黑盒测试 12、来自行为类模型的测试应该以什么为基础?C、状态图 第二次阶段作业得分100分 一、判断题(共8道小题,共40.0分)

(完整word版)图书管理系统软件测试报告

软件测试报告(STR) 说明: 1.《软件测试报告》(STR)是对计算机软件配置项CSCl,软件系统或子系统,或与软件相关项目执行合格性测试的记录。 2.通过STR,需方能够评估所执行的合格性测试及其测试结果。 1引言 1.1标识 详细描述对该图书管理系统进行测试的测试过程 1.2系统概述 开发的图书管理系统运用与window操作系统,主要是帮助和协助学校图书馆的图书借阅功能,图书管理系统是由我们6个组员共同分工合作完成的,在为期3周的开发时间中,对所开发的图书管理系统进行了运行,维护和测试。目前运行一切正常。 1.3文档概述 本次测试针对开发的图书馆管理系统进行,包括功能测试,界面测试,负载测试,文档测试。按照规格需求说明书中的功能进行测试,在测试过程中发现软件的漏洞不足并予以改正。 并严格对源代码进行保密。 2引用文件 主要是对文档的修订和改正,详见报告内容。 3测试结果概述 3.1对被测试软件的总体评估 软件本身的功能还是达到了预期的想法,在众多的测试当中,性能和功能都在不断的进行完善,设计的合理,达到了人们的一些生活需求,在以后的测试极其维护该改进中都有非常良好空间。 3.2测试环境的影响 在现在使用的众多操作系统中,我们选择了主流操作系统,即windows操作系统,但是windows又有多个版本win7、win8、win10等等,在win7和win10的测试环境中测试,所出现的问题,大同小异,很快进行了更正和修改,并且能够完美运行,但是在win8的使用中,图书管理系统偶尔会崩溃,并且出现乱码和电脑的不确定因素的故障。所以在消费者使用中,建议大家使用win7和win10的电脑, 3.3改进建议 无

测试的基本理论和方法

【转】浅谈软件测试的基本理论与方法 随着软件应用领域越来越广泛,其质量的优劣也日益受到人们的重视。质量保证能力的强弱直接影响着软件业的发展与生存。软件测试是一个成熟软件企业的重要组成部分,它是软件生命周期中一项非常重要且非常复杂的工作,对软件可靠性保证具有极其重要的意义。 在软件的测试过程中,应该应用各种测试方法,以保证产品有一个较高较稳定的质量。根据不同的生产过程进行不同的测试,包括黑盒测试、cc霜白盒测试、携程网酒店预定功能测试、系统测试、压力测试、安装/卸载测试、兼容性测试、α 测试、β 测试等。 软件测试是整个软件开发过程中一段非常重要的阶段,在测试过程中如能按照测试的基本过程来进行测试,软件的质量能有所保障。 我做了一个半月的测试,就现在的感觉而言,其实做测试必开发却是是轻松了一点,不是那么的累脑子,但是测试也是很深的一门学问,针对于不同的公司,产品不一样,所要求的测试的技术也不一样。有的公司测试很轻松,但是有的公司测试也是经常加班熬通宵的 1软件测试基础 信息技术的飞速发展,使软件产品应用到社会的各个领域,软件产品的质量自然成为人们共同关注的焦点。不论软件的生产者还是软件的使用者,均生存在竞争的环境中,软件开发商为了占有市场,必须把产品质量作为企业的重要目标之一,以免在激烈的竞争中被淘汰出局。用户为了保证自己业务的顺利完成,当然希看选用优质的软件。质量不佳的软件产品不仅会使开发商的维护难度和用户的使用本钱大幅增加,还可能产生其他的责任风险,造成公司信誉下降,继而冲击股票市场。在一些关键应用(如民航订票系统、银行结算系统、证券交易系统、自动飞行控制软件、军事防御、核电站安全控制系统等) 中使用质量有问题的软件,还可能造成灾难性的后果。 软件危机曾经是软件界甚至整个计算机界最热门的话题。为了解决这场危机,软件从业职员、专家和学者做出了大量的努力。现在人们已经逐步熟悉到所谓的软件危机实际上仅是一种状况,那就是软件中有错误,正是这些错误导致了软件开发在本钱、进度和质量上的失控。有错是软件的属性,而且是无法改变的,由于软件是由人来完成的,所有由人做的工作都不会是完美无缺的。问题在于我们如何避免错误的产生和消除已经产生的错误,使程序中的错误密度达到尽可能低的程度。 1.1软件测试的概念 软件测试是为了发现错误而执行程序的过程。或者说,软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例(即输进数据及其预期的输出结果),并利用这些测试用例去运行程序,以发现程序错误的过程。

软件工程与软件测试阶段作业三

一、判断题(共8道小题,共40.0分) 1. OCL不是一个强有力的工具,以形式化的方式说明设计动作的前置和后置条件2. 1.正确 2.错误 知识点: 第十一章构件级设计建模 学生答案: [B;] 标准答案: B 得分: [5] 试题分值: 5.0 提示: 3. 在详细设计层面使用构造型可以帮助识别构件的特性 4. 1.正确 2.错误 知识点: 第十一章构件级设计建模 学生答案: [A;] 标准答案: A 得分: [5] 试题分值: 5.0 提示: 1. 定义用户界面对象和行为的一个方法是进行用例的语法分析。 2. 1.正确 2.错误 知识点: 第十二章完成用户界面设计

学生答案: [A;] 标准答案: A 得分: [5] 试题分值: 5.0 提示: 1. 调试是不是测试,但总是作为一个测试的结果发生。 2. 1.正确 2.错误 知识点: 第十三章软件测试策略 学生答案: [A;] 标准答案: A 得分: [5] 试题分值: 5.0 提示: 1. 安全测试尝试验证保护机制,该机制建立在系统内保护系统不受非法入侵。 2. 1.正确 2.错误 知识点: 第十三章软件测试策略 学生答案: [A;] 标准答案: A 得分: [5] 试题分值: 5.0 提示: 1. 在软件质量保证工作中,软件验证和软件确认之间没有区别。 2.

3. 1.正确 2.错误 知识点: 第十三章软件测试策略 学生答案: [B;] 标准答案: B 得分: [5] 试题分值: 5.0 提示: 1. 多类测试太复杂,以至于不能使用随机测试类来测试。 2. 1.正确 2.错误 知识点: 第十四章测试战术 学生答案: [B;] 标准答案: B 得分: [5] 试题分值: 5.0 提示: 1. 边界值分析只能用来做白盒测试。 2. 1.正确 2.错误 知识点: 第十四章测试战术 学生答案: [B;] 标准答案: B 得分: [5] 试题分值: 5.0 提示: 二、单项选择题(共12道小题,共60.0分)

仓库管理系统软件测试

《仓库管理系统》测试报告说明书 1.需求分析 本次测试对象为在Android 4.0平台上运行的仓库管理程序,该程序主要实现内容有用户注册、用户登录、添加商品信息、添加客户信息、添加供应商信息、添加入库信息、添加出库信息。 1. 仓库管理系统用户注册界面:通过点击注册,分别输入用户名、职工号、密码和确认密码,点击确认提交来注册用户; 2. 仓库管理系统登录界面:通过输入用户名和密码,点击登陆来登陆用户;

品信息界面; 4. 仓库管理系统添加商品信息界面:分别输入商品名称、商品规格、计量单位,点击保存;

客户信息界面; 6. 仓库管理系统添加客户信息界面:分别输入公司名称、联系人、联系地址、城市名称、地区名称、邮政编码、联系电话、传真号码、公司主页,点击保存; 7. 仓库管理系统基本信息界面:通过点击供应商信息和点击添加供应商,编辑添加供应商信息界面;

8. 仓库管理系统添加供应商信息界面:分别输入公司名称、联系人、联系地址、城市名称、地区名称、邮政编码、联系电话、传真号码、公司主页,点击保存; 9. 仓库管理系统库存管理界面:通过点击商品入库和点击添加入库,编辑添加入库界面;

10.仓库管理系统添加入库界面:分别点击选择公司名称和商品名称,分别输入联系人、商品规格、联系电话、计量单位、进货单位、进货数量,点击选择进货日期,最后点击保存; 11.仓库管理系统库存管理界面:通过点击商品出库和点击添加出库,编辑添加入库界面;

12. 仓库管理系统添加出库界面:分别点击选择公司名称和商品名称,分别输入联系人、商品规格、联系电话、计量单位、进货单位、进货数量,点击选择进货日期,最后点击保存; 单元测试需求 1. 仓库管理系统界面 a) 检查用户是否能正常注册 b) 检查用户是否能正常登录 c) 检查是否能成功添加客户信息 d) 检查是否能成功添加入库信息 集成测试需求 1.检查用户是否能正常注册 2.检查用户是否能正常登录 3.检查是否能成功添加商品信息 4.检查是否能成功添加客户信息 5.检查是否能成功添加供应商信息 6.检查是否能成功添加入库信息 7.检查是否能成功添加出库信息

软件测试技术基础教程-习题答案

第一章软件测试理论 一、选择题 1、C 2、A 3、D 4、B 5、D 6、D 7、B 8、B 二、简答题 1. 参考答案: 软件测试是伴随着软件的产生而产生的。在软件行业发展初期,没有系统意义上的软件测试,更多的是一种类似调试的测试,测试用例的设计和选取也都是根据测试人员的经验随机进行的,大多数测试的目的是为了证明系统可以正常运行。 到了20世纪70年代以后,很多测试理论和测试方法应运而生,逐渐形成了一套完整的体系。在产业界,从20世纪70年代后期到20世纪80年代中期,很多软件企业成立了QA 或者SQA部门。后来QA的职能转变为流程监控(包括监控测试流程),而测试(Testing)则从QA中分离出来成为独立的组织职能。 到了20世纪80年代初期,一些软件测试的基础理论和实用技术开始形成,软件测试作为软件质量保证(SQA)的主要职能,包含软件质量评价的内容。软件测试已有了行业标准(IEEE/ANSI )。 在我国,软件测试目前还没有形成一个真正的产业,尚处于起步阶段。 但是,在国内,现在在软件测试行业中各种软件测试的方法、技术和标准都还在探索阶段。 总之,国内软件测试行业与一些发达国家相比还存在一定的差距。 2. 参考答案: 软件缺陷造成的修复费用随着时间的推移呈指数级地增长,如下图所示。 3. 参考答案: 软件测试的复杂性体现在: 不可能对程序实现完全测试。 杀虫剂现象,即为了克服被测试软件的免疫力,软件测试员必须不断编写新的测试 程序,对程序的各个部分进行不断测试,以避免被测试软件对单一的测试程序具有 免疫力而使软件缺陷不被发现。 软件测试的代价不容易掌握,因为随着测试量的增加,测试成本将呈几何数级上升,而软件缺陷数量降低到某一数值之后将没有明显的变化,寻求最优测试点,掌握好 测试工作量是至关重要的。 在实际操作过程中,测试人员要进行正确的判断,合理的取舍,根据风险分析来决 定哪些故障需要修复,哪些故障可以不修复,即并不是所有的软件缺陷都需要被修 复。 4. 参考答案: 软件测试是软件生命期中费用消耗最大的环节。测试费用除了测试的直接消耗外,还包括其他的相关费用。影响测试费用的主要因素有:

软件测试 学生管理系统软件测试用例

学生管理系统软件测试用例 测试用例 测试用例 软件测试就是软件开发时期的最后一个阶段,也就是软件质量与可靠性保证中至关重要的一个环节。软件测试的基本任务就是通过在计算机上执行程序,暴露出程序潜在的错误,以便进行纠错,从而保证程序的可靠运行,降低软件的风险。 测试用例: 所谓测试用例,就就是意发现错误为目的而精心设计的一组测试数据。测试一个程序,需要数量足够的一组测试用例,用数据词典的表示方法表示,可以写成: 测试用例={输入数据+输出数据}这个就是式子还表明,每一个完整的测试用例不仅包含有被测程序的输入数据,而且还包括用这组数据执行被测数据之后的预期的输出结果。每次测试,都要把实测的结果与期望结果做比较,若不相符,就表明程序可能存在错误。 白盒测试就就是根据源代码进行测试的,用白盒测试涉及测试用例 ,有两种测试用例,有两种常用技术:逻辑覆盖法测试用例,基本路径法测试用例。 黑盒测试就就是根据被测程序功能来进行测试,所以也称为功能测试。用黑盒法涉及测试用例,有四种常用技术;等价分类法,边界值分析法,决策表法、错误推测法与因果图法。 整个测试基于需求文档,瞧就是否能满足需求文档中所有需求。黑盒测试要求测试者在测试时不能使用与被测系统内部结构相关的知识或经验,适用于对系统的功能进行测试。 黑盒测试 黑盒测试概念: 被称为功能测试或数据驱动测试。在测试时,把被测程序视为一个不能打开的黑盒子,在完全不考虑程序内部结构与内部特性的情况下进行。 采用黑盒测试的目的主要就是在已知软件产品所应具有的功能的基础上,进行: (1)检查程序功能能否按需求规格说明书的规定正常使用,测试各个功能就是否有遗漏,检测性能等特性要求就是否满足。 (2)检测人机交互就是否错误,检测数据结构或外部数据库访问就是否错误,程序就是否能适当地接收输入数据而产生正确的输出结果,并保持外部信息(如数据

软件测试作业与答案

第一章 1.选择题 (1)软件本身的特点和目前软件开发模式使隐蔽在软件部的质量缺陷不可能完全避免,在下列关于导致软件质量缺陷的原因的描述中,不正确的是(C) A.软件需求模糊以及需求的变更,从根本上影响着软件产品的质量 B.目前广为采用的手工开发方式难以避免出现差错 C.程序员编码水平低下是导致软件缺陷的最主要原因 D.软件测试技术具有缺陷 (2)缺陷产生的原因是(D) A.交流不充分及沟通不畅、软件需求的变更、软件开发工具的缺陷 B.软件的复杂性、软件项目的时间压力 C.程序开发人员的错误、软件项目文档的缺乏 D.以上都是 2.判断题 (1)缺乏有力的方法学指导和有效的开发工具的支持,往往是产生软件危机的原因之一。(√) (2)目前的绝大多数软件都不适和于快速原型技术。(√) (3)在程序运行之前没法评估其质量。(×) (4)下列哪些活动是项目 探索火星生命迹象(√) 向部门经理进行月工作汇报(×) 开发新版本的操作系统。(√) 每天的卫生保洁。(×) 组织超级女声决赛。(√) 一次集体婚礼。(√) 3.简答题 (1)什么是软件?软件经历了哪几个发展阶段? 答:软件是一系列按照特定顺序组织的计算机数据和指令的集合。一般来讲软件北划分为系统软件,应用软件和介于着两者之间的中间件。其中系统软件为计算机使用提供最基本的功能,但是并不是针对某一特定领域,而应用软件则恰好相反,不同的应用软件更根据用户和所服务的领域提供不同的功能。 20世纪50年代初期至60年代中期是软件发展的第一阶段(又称程序设计阶段); 第二阶段从20世纪60年代中期到70年代末期是程序系统阶段。 第三阶段称为软件工程阶段,从20世纪70年代中期到80年代中期,由于微处理器的出现,分布式系统广泛应用,以软件的产品化,系列化,工程化和标准化为特征的软件产业发展起来,软件开发有了可以遵循的软件工程化的设计原则,方法和标准。 第四阶段是从20世纪80年代中期至今,客户端/度武器(C/S)体系结构,特别是Web技术和网络分布式对象技术法飞速发展,导致软件体系结构向更加灵

图书馆管理系统软件测试计划

1.引言 1.1.目的 测试图书管理系统中的各个功能模块是否满足用户要求,并测试是否存bug。预期达到能够使系统进行快速的改进和系统的提高。为了在软件投入生产性运行之前,尽可能多地发现软件的错误。 1.2.背景 a.本项目测试的背景;图书管理系统是一个教育单位不可缺少的部分,它的内容对于决策者和管理者来说都至关重要,所以图书管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。而计算机的应用便解决了以上问题,它带来更加科学,有效,正规的管理方式,给人们带来了很大的便利。图书管理系统界面简洁,操作简单,满足了学校对图书信息管理的需要。 b.该开发项目的历史,列出用户和执行此项目测试的机构或人群;该项目前后经历了三个阶段,前期设计阶段,然后是开发阶段,最后是软件的测试阶段。项目的用户针对的是学校的广大学生和管理员,系统的功能测试主要由专业的软件测试人员进行测试。 1.3.范围 图书管理系统试采用的是黑盒测试的方式来对系统进行测试。主要测试软件的功能是否满足客户的需要,性能是否优越以及系统所存在的问题。对系统的各个模块进行详细的测试,并记录测试的结果,对测试的结果进行细致的分析处理。测试时对系统的各个功能模块进行拆分测试,并以每一个模块都要测试到。对所有可能的结果进行测试,以及测试过程中存在的问题进行分析,然后提交测试的记录。最后,对软件存在的问题以及性能的测试进行全面分析,并给予记录。 在测试的过程中需要提出各个问题的假设,以及根据需求报告文档中存在的项目功能模块和用户的需求来改善系统。列出可能会影响测试设计、开发、或实施的所有风险或意外事件。列出可能会影响测试设计、开发或实施的所有约束。 1.4.定义 信息(Information):有关图书的详细数据,如书名、作者、出版日期等 管理(Manage):对图书信息进行操作,如增删改查等基本功能 统计(Account):对图书信息的统计,如册数等 1.5.参考资料 列出编写本计划及测试整个过程中所要参考的文件、资料。

软件测试的基本方法和测试理论

动态黑盒测试 不深入代码细节的软件测试方法。常被称为行为测试,因为测试的是软件在使用过程中的实际行为。 首先,从产品说明书获知测试对象的软件的输入和应该得到的输出。 接下来,开始定义测试案例。测试案例:指进行实验用的输入,以及测试软件用的程序。 选择测试案例是软件测试员最重要的任务。不正确的选择可能导致测试量过大或者过小,甚至测试目标不对。准确评估风险,把不可穷近的可能性减少到可以控制的范围是成功的诀窍。 测试基本方法:通过测试vs 失败测试 通过测试:确认软件至少能做什么,而不考验其能力。 失败测试:纯粹为了破坏软件而设计和执行的测试案例,也称为迫使出错测试。蓄意攻击软件的薄弱环节。 在设计和执行测试案例时,总是首先进行通过测试。在破坏性试验之前看看软件基本功能是否实现是很重要的,否则在正常使用软件时就会奇怪为什么有那么多的软件缺陷。 常见的测试案例就是设法迫使软件出现错误提示信息。产品说明书可能会给出这样的功能要求,针对这个问题的测试可能是通过测试也可能是失败测试。可能两者都是。不用去刻意区分,重要的是找到软件缺陷! 选择测试案例:等价分配 等价分配:是指分步骤地把过多(无限)的测试案例减小到同样有效的小范围的过程。也称等价划分。 等价分配技术提供了一个选择哪些数值、舍弃哪些数值的系统方法。 等价类别或者等价区间是指测试相同目标或者暴露相同软件缺陷的一组测试案例。在寻找等价区间时,想办法把软件的相似输入、输出、操作分成组。这些组就是等价区间。 等价分配的目的是把可能的测试案例组合缩减到仍然足以测试软件的控制范围。因为选择了不完全测试,就要冒一定的风险。如果为了减少测试案例的数量过度进行等价分配,测试的风险就会增加。另外,等价区间的划分没有一定的标准,只要足以覆盖测试对象就行了。 数据测试 软件由数据(包括键盘输入、鼠标单击、磁盘文件、打印输出等等)和程序(可执行

软件测试基本理论

【下载本文档,可以自由复制内容或自由编辑修改内容,更多精彩文章,期待你的好评和关注,我将一如既往为您服务】 软件测试基本概念 1、软件=程序+文档,软件测试=程序测试+文档测试。 “程序”是指能够实现某种功能的指令的集合,“文档”是指软件在开发、使用和维护过程中产生的图文集合。; 2、软件的分类 按功能分:系统软件、应用软件 按技术架构分:单机版软件、C/S结构软件(C是指客户端,S指服务器端)、B/S 结构软件(B是指浏览器) 按照用户划分:产品软件、项目软件 按开发规模划分:小型、中型、大型 3、BUG的定义:软件的BUG指的是软件中(包括程序和文档)不符合用户需求的问题。常见的软件BUG分三种类型:完全没有实现的功能;基本实现了用户需求的功能;实现了用户不需要的功能。 4、测试环境=软件+网络+硬件。搭建环境:真实、干净、无毒、独立 5、软件环境的分类:软件开发环境软件生产运行环境 6、测试用例:指在测试执行之前设计的一套详细的测试方案,包括测试环境、测试步骤、测试数据和与其结果!测试用例=输入+输出+测试环境。测试用例有两个模板,word 和excel,前者适合性能测试,后者适合功能测试。 软件测试分类

1、黑盒测试:指的是把被测的软件看作是一个黑盒子,我们不去关心盒子里面的结构是什么样子的,只关心软件的输入数据和输出结果 白盒测试:指的是把盒子盖打开,去研究里面的源代码和程序结构。 2、静态测试:是指不实际运行被测软件,而只是静态的检查程序代码、界面或文档中可能存在的错误的过程。 动态测试:是指实际运行被测程序,输入相应的测试数据,检查实际输出结果和预期结果是否相符的过程,所以我们判断一个测试属于动态测试还是静态测试,唯一的标准就是看是否运行程序。 注:同一个测试,既有可能属于黑盒测试,也有可能属于动态测试;既有可能属于静态测试,也有可能属于白盒测试。他们之间也有可能交叉。 3、单元测试:编译运行程序——静态测试——动态测试 集成测试:是单元测试的下一个阶段,是指将通过测试的单元模块组装成系统或子系统,再进行测试,重点测试不同模块的接口部分。 4、系统测试:指的是将整个软件系统看作1个整体进行测试,包括对功能、性能,以及软件所运行的软硬件环境进行测试。 5、验收测试:指的是在系统测试的后期,以用户测试为主,或有测试人员等质量保障人员 共同参与的测试,它也是软件正式交给用户使用的最后一道工序. 验收测试又分为α测试和β测试,其实α测试指的是由用户、测试人员、开发人员等共同参与的内部测试,而β测试指的是内侧后的公测,即完全交给最终用户测试。 功能测试:是黑盒测试的一方面,它检查实际软件的功能是否符合用户的需求。功能测试又可以细分为很多种:逻辑功能测试、界面测试、易用性测试、安装测试、兼容性测试等。

软件测试工程师管理系统详细设计-1.0

文档编号____________ 保密级别____________软件测试工程师管理系统详细设计说明书 XX信息技术中心

版本说明 日期版本号发布说明作者批准人 签字岗位

目录1引言 1.1编写目的 1.2项目背景 1.3定义 1.4参考资料 2程序系统的组织结构 2.1程序关系 2.2程序运行过程 2.3系统菜单界面 2.4系统处理流程 2.5接口设计 3总体设计 3.1输入项目 3.2输出项目 3.3功能要求 3.4性能要求 3.5系统数据结构设计 3.6系统数据处理流程 3.7各函数调用关系 4各功能函数设计 4.1主函数 4.1.1程序描述 4.1.2功能 4.1.3性能 4.1.4输入项目 4.1.5输出项目 4.1.6算法 4.1.7程序逻辑 4.1.8接口 4.1.9存储分配 4.1.10限制条件 4.1.11测试要点 4.2输入工程师信息函数 4.2.1程序描述 4.2.2功能 4.2.3性能

4.2.4输入项目 4.2.5输出项目 4.2.6算法 4.2.7程序逻辑 4.2.8接口 4.2.9存储分配 4.2.10限制条件 4.2.11测试要点5程序与数据结构 5.1全局变量 5.2数据结构使用 6系统出错处理设计 7安全保密计划

1 引言 1.1 编写目的 尽可能详细地描述程序各成份的设计思路,以利于编制程序。 1.2 项目背景 该项目的实施主要是为提高北京梅梅公司的人事管理效率而编制的。 1.3 定义 1.4 参考资料 2 程序系统的组织结构 2.1 程序关系 本系统的每一项功能由一个或几个函数来实现。每一个菜单对应一个功能函数。 2.2 程序运行过程 1. 系统在运行后,首先从文件中得到被保存的软件测试工程师 信息,来初始化系统与工程师信息有关的数据结构; 2. 用户选择在系统功能菜单中选择要进行的操作,选择后调用 对应的函数; 3. 完成必要的相应的功能模块; 4. 系统完成该项功能后,显示结果信息给用户; 5. 系统可返回第2步,供用户继续选择要进行的操作; 6. 用户选择菜单中的0系统结束,在系统结束时如果用户修改 的数据,则提示用户是否把数据保存到文件。 2.3系统菜单界面 系统运行中提供用户选择的主菜单如下:

软件测试理论知识总结

测试基础 软件测试的定义和目的 1,什么是软件测试 a)IEEE定义为:使用人工和自动手段来运行或测试某个系统的过程,其目的在于检验它是 否满足规定的需求或是弄清预期结果与实际结果之间的差别。 b)G.J.Myers认为:1)程序测试是为了发现错误而执行程序的过程;2)好的测试方案是 极可能发现迄今为止尚未发现的错误的测试方案;3)成功的测试是发现了至今为止尚未发现的错误测试。 (注:1)软件测试是一个过程,包含若干活动,运行软件进行测试只是活动之一;2)运行软件测试可以人工方式也可以借助于工具,3)进行软件测试可以运行软件也可以不运行软件;4)软件测试的目的不仅仅是为了发现错误。) 2,软件测试的目的 人们对软件测试的目的的认识也经历了一个过程: 20世纪60年代 20世纪70年代中期 20世纪90年代证明检测预防 表明软件能够工作发现错误管理质量 软件生命周期 计划需求分析设计编码测试运行和维护软件研发组织和流程 常见项目组架构 SQA 项目经理 开发经理测试经理配置经理 软件开发组软件测试组配置管理组

基本软件研发流程 1)瀑布模型 2)螺旋模型 3)RUP(Rational United Press)模型所有工作流在各个阶段都有体现。(IBM收购)4)IPD(Integred Product Design)模型从整个产品角度出发,不仅仅针对研发。 (IBM) 软件中引入缺陷的原因 软件缺陷:既指静态存在于软件工作产品(文档,代码)中的错误,也指软件运行时由于这些错误被激发引起的和软件产品预期属性的偏离现象。 Bug :代码中的缺陷。有时也被广泛指因软件产品内部的缺陷引起的软件产品最终运行时和预期属性的偏离。 (注:软件错误、软件缺陷、Bug在实际工作中可以认为是一样。) 常见的引入缺陷的原因 1)开发过程缺乏有效的沟通,或者没有进行沟通 2)软件复杂度越来越高 3)编程中产生的错误 4)需求不断变更 5)项目进度的压力 6)不重视开发文档 7)软件开发工具本身隐藏的问题8)。。。。。。。。。。。。。。。。。。。。。。 缺陷类型 1)遗漏:规定的或者预期的需求未体现在产品中(可能未将规格说明全面实现,也可能需求分析阶段就遗漏了需求) 2)错误:未将规格说明正确实现(可能设计错误、也可能编码错误) 3)额外的实现:规格说明并未规定的需求被纳入了产品,得到实现。 (也可以用下面五种类型表示: a)产品未达到产品说明书中要求实现的功能 b)产品出现了产品说明书中没有的功能 c)产品没有实现产品说明书中虽未指明但要求实现的功能 d)产品出现了说明书中明确规定不出现的功能 e)测试人员或用户认为产品不应使用)

软件测试学生管理系统软件测试用例

学生管理系统软件测试用例

测试用例 测试用例 软件测试是软件开发时期的最后一个阶段,也是软件质量和可靠性保证中至关重要的一个环节。软件测试的基本任务是通过在计算机上执行程序,暴露出程序潜在的错误,以便进行纠错,从而保证程序的可靠运行,降低软件的风险。 测试用例: 所谓测试用例,就是意发现错误为目的而精心设计的一组测试数据。测试一个程序,需要数量足够的一组测试用例,用数据词典的表示方法表示,可以写成:测试用例={输入数据+输出数据}这个是式子还表明,每一个完整的测试用例不仅包含有被测程序的输入数据,而且还包括用这组数据执行被测数据之后的预期的输出结果。每次测试,都要把实测的结果与期望结果做比较,若不相符,就表明程序可能存在错误。 白盒测试就是根据源代码进行测试的,用白盒测试涉及测试用例,有两种测试用例,有两种常用技术:逻辑覆盖法测试用例,基本路径法测试用例。 黑盒测试就是根据被测程序功能来进行测试,所以也称为功能测试。用黑盒法涉及测试用例,有四种常用技术;等价分类法,边界值分析法,决策表法、错误推测法和因果图法。 整个测试基于需求文档,看是否能满足需求文档中所有需求。黑盒测试要求测试者在测试时不能使用与被测系统内部结构相关的知识或经验,适用于对系统的功能进行测试。 黑盒测试 黑盒测试概念: 被称为功能测试或数据驱动测试。在测试时,把被测程序视为一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下进行。 采用黑盒测试的目的主要是在已知软件产品所应具有的功能的基础上,进行:(1)检查程序功能能否按需求规格说明书的规定正常使用,测试各个功能是否有遗漏,检测性能等特性要求是否满足。 (2)检测人机交互是否错误,检测数据结构或外部数据库访问是否错误,程序是否能适当地接收输入数据而产生正确的输出结果,并保持外部信息(如数据库或文件)的完整性。 (3)检测程序初始化和终止方面的错误。

软件测试报告-博客系统

软件测试报告项目:博客系统 专业:软件技术班级:xxxx班 学号:xxxxxxxxx 姓名:xxxx冬 xxx学院 xx 2011年xx月

测试项目简介

一、测试报告内容 1.测试报告目的 通过对博客系统的测试实训案例,我们可以学习到博客系统需要的功能模块,以及各个功能模块之间的关系。使用软件测试中的单元测试技术可以更好的让我们认识软件测试这一后起之秀在计算机领域中的作用和发展的前景。 2. 测试项目需求 博客系统为网友们提供了一个相互交流、学习的平台。博客的两大基本功能是共享和交流,共享是将文章、图片、心得等一些很私人的东西拿出来和大多数人一起分享;交流是有着同样兴趣、爱好、语言的一类人之间的联系。 此博客系统主要分为3大功能模块: 1)个人博客空间 2)个人博客管理 3)博客后台管理 3.系统功能模块介绍 1)个人博客空间是为他人提供浏览、查看博客内容的平台,在这个空间中,可以浏览文章、发表留言、添加好友和浏览相册等。如图1-1所示。 图1-1 个人博客空间功能结构图

2)个人博客管理和博客后台管理系统主要用于对博客用户和管理员的管理。博客后台管理包括用户管理、文章管理、相册管理和修改管理员密码,其功能结构图如图1-2所示。 图1-2 博客后台结构图 二、测试概要 1.测试内容与环境 (1)测试环境 (2)测试方法 单元测试又称模块测试,是针对软件设计的最小单位——程序模块,进行正确性检验的测试工作。这个阶段我们会对各个程序模块可能存在的错误进行分析,测试。 集成测试也称为组装测试。在单元测试的基础上,将所有模块按照设计要求组装成为系统,进行集成测试,这个阶段我们查看模块之间的连接功能,以及可能出现的错误。 采用黑盒测试法对以上测试项进行测试。

南开大学《软件工程与软件测试技术》期末考试备战考题全集2

《软件工程与软件测试技术》课程 期末复习资料 《软件工程与软件测试技术》课程讲稿章节目录及知识点: 第1章概述 (1)了解软件的定义 (2)了解软件危机的产生 (3)了解软件工程的定义 第2章软件过程 (1)掌握软件过程的定义 (2)掌握软件生命周期的几个阶段 (3)掌握瀑布模型、快速原型模型、软件开发模型的基本过程,了解其优缺点 (4)掌握增量模型、螺旋模型、喷泉模型的基本过程,了解其优缺点 第3章可行性研究 (1)了解可行性研究的目的与任务 (2)掌握系统流程图 (3)掌握数据流图 (4)掌握数据字典 (5)了解成本-效益分析的方法 第4章软件需求分析 (1)了解需求分析的任务 (2)掌握需求获取的常用方法 (3)掌握结构化分析方法 (4)熟练使用需求分析图形工具

第5章软件总体设计 (1)了解软件设计和总体设计的定义 (2)掌握模块化、抽象和信息隐蔽和局部化的原理 (3)掌握模型快独立性和衡量标准 (4)掌握软件结构设计准则 (5)熟练使用软件结构设计图形工具 (6)掌握结构化设计方法 第6章软件详细设计 (1)了解详细设计的目标和任务 (2)掌握程序流程图、盒图等程序设计工具的使用(3)掌握程序判定表、判定树等程序设计工具的使用(4)掌握人机界面设计的原则和方法 第7章软件编码 (1)掌握程序设计语言的选择准则 (2)掌握程序设计风格要点 第8章软件测试 (1)掌握软件测试的目标和原则 (2)掌握几种软件测试方法的定义 (3)掌握语句覆盖、判定覆盖等逻辑覆盖方法 (4)掌握条件覆盖、条件组合覆盖等逻辑覆盖方法 (5)掌握循环测试和基本路径测试基本方法 (6)掌握等价类划分的方法 (7)掌握边界值分析、错误推测和因果图的原理和方法(8)掌握单元测试方法 (9)掌握集成测试方法

相关文档
相关文档 最新文档