系统测试的基本方法有哪些
- 格式:docx
- 大小:13.76 KB
- 文档页数:3
软件测试软件测试是软件开发过程的重要组成部分,是用来确认一个程序的品质或性能是否符合开发之前所提出的一些要求。
软件测试就是在软件投入运行前,对软件需求分析、设计规格说明和编码的最终复审,是软件质量保证的关键步骤。
软件测试是为了发现错误而执行程序的过程。
软件测试在软件生存期中横跨两个阶段:通常在编写出每一个模块之后就对它做必要的测试(称为单元测试)。
编码和单元测试属于软件生存期中的同一个阶段。
在结束这个阶段后对软件系统还要进行各种综合测试,这是软件生存期的另一个独立阶段,即测试阶段。
一、软件测试的目的软件测试的目的,第一是确认软件的质量,其一方面是确认软件做了你所期望的事情(Do the right thing),另一方面是确认软件以正确的方式来做了这个事件(Do it right)。
第二是提供信息,比如提供给开发人员或程序经理的反馈信息,为风险评估所准备的信息。
第三软件测试不仅是在测试软件产品的本身,而且还包括软件开发的过程。
如果一个软件产品开发完成之后发现了很多问题,这说明此软件开发过程很可能是有缺陷的。
因此软件测试的第三个目的是保证整个软件开发过程是高质量的。
软件质量是由几个方面来衡量的:一、在正确的时间用正确的的方法把一个工作做正确(Doing the right things right t the right time.)。
二、符合一些应用标准的要求,比如不同国家的用户不同的操作习惯和要求,项目工程中的可维护性、可测试性等要求。
三、质量本身就是软件达到了最开始所设定的要求,而代码的优美或精巧的技巧并不代表软件的高质量(Qulity is deined s conormnce to requirements, not s “goodness” or “elegnce”.)。
四、质量也代表着它符合客户的需要(Qulity lso mens “meet customer needs”.)。
作为软件测试这个行业,最重要的一件事就是从客户的需求出发,从客户的角度去看产品,客户会怎么去使用这个产品,使用过程中会遇到什么样的问题。
《管理信息系统》考试题库及答案(四)《管理信息系统》考试题库及答案⼀、填空题1.管理活动中的⾼、中、基3个层次的管理分别对应的3种层次类型的决策过程是、和结构化决策。
2.通常管理可分为五⼤职能,即、、指挥、控制和协调。
3.管理信息系统的三⼤⽀柱是:计算机⽹络、______ 和______ 。
4.按系统论的观点,系统应有5个要素,即输⼊、输出、______ 、______和控制。
5.⼀般将系统产⽣、发展和灭亡的⽣命历程称为______ 。
6.ERP的含义是______ ,它是在______ 的基础上发展⽽来的。
7.“⾃顶向下,逐步求精”是______ ⽅法的基本思想。
8.管理信息系统的基本结构可以概括为四⼤部件,即信息源信息处理器、、。
9.管理信息系统是⼀个以计算机为⼯具,具有______ 、预测、控制和功能的信息系统。
10.信息⼀词的英⽂单词是______ 。
11.对当前系统的调查通常可分为______ 和______ 。
12.⼀般认为管理信息系统是在______ 、______ 和计算机科学的基础上发展起来的综合性边缘科学。
13.现⾏系统分析主要包括______ 分析和______ 分析两⼤部分。
14.可⾏性研究⼀般可从以下⼏⽅⾯⼊⼿经济可⾏性、技术可⾏性、______ 和______ 。
15.⼈们经常⽤耦合和______ 的概念衡量模块之间的独⽴性。
16.数据流程分析的主要⽬的是在______ 分析的基础上,勾画出现⾏系统的逻辑模型。
17.常见的系统切换⽅法主要有3种,即______ 、______ 和______ 。
18.系统分析处于系统开发⽣命周期的第⼆阶段,上接______ ,下联______ ,具有承上启下的作⽤。
19.数据耦合、控制耦合和⾮法耦合等三种模块耦合⽅式中,耦合度最低、性能最好的是______ 。
20.业务流程分析主要是为了描述____________。
21.系统分解的三原则是指______ 、功能聚合性原则、______ 。
测试方法种类有哪些1. 回归测试(Regression Testing)回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。
自动回归测试将大幅降低系统测试、维护升级等阶段的成本。
回归测试作为软件生命周期的一个组成部分,在整个软件测试过程中占有很大的工作量比重,软件开发的各个阶段都会进行多次回归测试。
在渐进和快速迭代开发中,新版本的连续发布使回归测试进行的更加频繁,而在极端编程方法中,更是要求每天都进行若干次回归测试。
因此,通过选择正确的回归测试策略来改进回归测试的效率和有效性是很有意义的。
2. 集成测试(Integration Testing)集成测试,也叫组装测试或联合测试。
在单元测试的基础上,将所有模块按照设计要求(如根据结构图)组装成为子系统或系统,进行集成测试。
集成测试(也叫组装测试,联合测试)是单元测试的逻辑扩展。
它最简单的形式是:把两个已经测试过的单元组合成一个组件,测试它们之间的接口。
从这一层意义上讲,组件是指多个单元的集成聚合。
在现实方案中,许多单元组合成组件,而这些组件又聚合为程序的更大部分。
方法是测试片段的组合,并最终扩展成进程,将模块与其他组的模块一起测试。
最后,将构成进程的所有模块一起测试。
此外,如果程序由多个进程组成,应该成对测试它们,而不是同时测试所有进程。
3. 功能测试(Function Testing)功能测试就是对产品的各功能进行验证,根据功能测试用例,逐项测试,检查产品是否达到用户要求的功能。
4. 内存泄漏测试(Memory Leak Testing)内存泄漏也称作“存储渗漏”,用动态存储分配函数动态开辟的空间,在使用完毕后未释放,结果导致一直占据该内存单元。
直到程序结束。
(其实说白了就是该内存空间使用完毕之后未回收)即所谓内存泄漏。
内存泄漏形象的比喻是“操作系统可提供给所有进程的存储空间正在被某个进程榨干”,最终结果是程序运行时间越长,占用存储空间越来越多,最终用尽全部存储空间,整个系统崩溃。
沈阳铁路局学习中心说明:①阶段测试作业必须由学生书写完成,打印复印不计成绩。
②学生应按有关课程的教学要求,在规定的交纳日期前交纳作业。
③任课教师评定考试成绩后,将成绩与评语反馈给学生本人。
④每一次阶段测试作业成绩记为本学期课程总成绩的20%。
第一部分:一、填空题1。
系统效率主要反映在系统对处理请求的(响应时间)和(单位时间)内处理的业务量方面.2。
系统的通用性是指统一软件系统在不同使用单位的(可应用程度)。
3.系统设计阶段的主要任务是(提出系统的实施方案)。
4。
模块具有输入和输出、逻辑功能、(运行程序)、(内部数据)4种基本属性.5。
层次图用来描述系统的层次结构,主要反映(系统模块之间)的调用关系。
6.系统的基本逻辑模型总体上看,都可将(其数据信息流)归纳为变换流。
7.(事务分析)是根据事务流类型结构的数据流程图导出结构图的一种方法。
8.系统流程设计包括(系统信息流程设计)、(系统处理流程设计)和(程序结构设计).9。
系统信息流程图是以(新系统的数据流程图)为依据绘制的.10.程序流程图的主要优点是(对控制流程的描述直观),便于掌握。
11.人机对话是指(人与计算机)进行信息交流。
12.输出设计的目的是能满足用户对系统(输出信息)的需求.13.(输出报告)是系统设计的主要内容之一,它定义了系统的输出。
14。
(数据库设计)是在选定的数据库管理系统基础上建立数据库的过程。
15。
概念模型的设计主要依据是系统分析的(数据流程图)和(数据字典)。
16.网络拓扑结构一般分为(总线)型、(星)型、(环)型。
17。
建立系统实施环境主要是为实现(管理信息系统)而建立的一个物理基础.18.(系统运行的可靠性)是衡量系统质量的首要指标。
19.系统测试的方法主要包括(静态测试法)和(动态测试法)两种。
20。
(联合调试)是对若干个程序后某一子系统的调试。
21。
系统使用与维护说明书主要是面向(用户)服务的。
22.信息系统与其他任何系统一样,需要进行科学的(组织与管理).23.各种规章制度制定后必须保证有效的(实施和检查),并进行教育和督促。
沈阳铁路局学习中心说明:①阶段测试作业必须由学生书写完成,打印复印不计成绩。
②学生应按有关课程的教学要求,在规定的交纳日期前交纳作业。
③任课教师评定考试成绩后,将成绩与评语反馈给学生本人。
④每一次阶段测试作业成绩记为本学期课程总成绩的20%。
第一部分:一、填空题1.系统效率主要反映在系统对处理请求的(响应时间)和(单位时间)内处理的业务量方面。
2.系统的通用性是指统一软件系统在不同使用单位的(可应用程度)。
3.系统设计阶段的主要任务是(提出系统的实施方案)。
4.模块具有输入和输出、逻辑功能、(运行程序)、(内部数据)4种基本属性。
5.层次图用来描述系统的层次结构,主要反映(系统模块之间)的调用关系。
6.系统的基本逻辑模型总体上看,都可将(其数据信息流)归纳为变换流。
7.(事务分析)是根据事务流类型结构的数据流程图导出结构图的一种方法。
8.系统流程设计包括(系统信息流程设计)、(系统处理流程设计)和(程序结构设计)。
9.系统信息流程图是以(新系统的数据流程图)为依据绘制的。
10.程序流程图的主要优点是(对控制流程的描述直观),便于掌握。
11.人机对话是指(人与计算机)进行信息交流。
12.输出设计的目的是能满足用户对系统(输出信息)的需求。
13.(输出报告)是系统设计的主要内容之一,它定义了系统的输出。
14.(数据库设计)是在选定的数据库管理系统基础上建立数据库的过程。
15.概念模型的设计主要依据是系统分析的(数据流程图)和(数据字典)。
16.网络拓扑结构一般分为(总线)型、(星)型、(环)型。
17.建立系统实施环境主要是为实现(管理信息系统)而建立的一个物理基础。
18.(系统运行的可靠性)是衡量系统质量的首要指标。
19.系统测试的方法主要包括(静态测试法)和(动态测试法)两种。
20.(联合调试)是对若干个程序后某一子系统的调试。
21.系统使用与维护说明书主要是面向(用户)服务的。
22.信息系统与其他任何系统一样,需要进行科学的(组织与管理)。
目前嵌入式系统的应用领域越来越广泛,与人们的生活也越来越密切。
随着嵌入式产品更新换代的加快,软件规模急速膨胀,软件的开发周期却越来越短。
硬件发展日益稳定,而软件故障却日益突出,这些故障不仅会造成重大经济损失,甚至危及人的生命安全。
软件的重要性逐渐引起人们的重视,提高嵌入式软件的测试质量势在必行。
为什么嵌入式产品发布后,还残留了许多软件缺陷?原因可能很多,我们试列举以下几种:①嵌入式软件本身特点,如实时性,与硬件结合紧密等导致软件测试难度大。
②在代码规模巨大、开发周期短等客观条件下,软件测试不足。
③在测试阶段,要动态覆盖所有条件、所有状况的测试几乎是不可能的。
④嵌入式软件开发主要使用C语言,而C语言非常灵活,容易造成编码错误。
⑤项目团队未有效建立/遵守编码规范,留用有缺陷代码等导致可移植性、可维护性方面存在缺陷。
⑥项目团队的惯性思维,不良编码/测试习惯等因素的影响等。
软件测试的分类方法有很多种,如静态测试、动态测试;单元测试、集成测试、系统测试、确认测试;模拟测试、实机测试等。
各种测试方法其对测试阶段、测试环境等要求也各具特点,本文就软件代码检查这种静态测试方法进行探讨。
1.什么是代码检查代码检查团队以第三方的角度,运用工具/人工的方式对代码进行静态检查。
软件开发团队根据代码检查团队的检查报告,进行缺陷原因分析、影响范围调查、缺陷修改、修改后验证、缺陷预防措施实施及效果确认活动。
2.代码检查种类①代码规范(MISRA等C、C++规范)符合性检查使用MISRA、QAC等代码规范检查工具,对代码规范的符合性进行检查,然后人工对工具输出的警告进行确认。
②代码逻辑检查针对代码规范检查工具不能检查的项目,如公用变量的初始化、函数返回值的使用等方面进行人工检查。
③中断冲突检查。
对因中断或多任务共同访问全局变量而引起的冲突进行人工检查。
④功能符合性检查。
对看门狗、AD/DA转换等与硬件相关部分的代码进行人工检查。
系统测试的基本方法有哪些
计算机软件是基于计算机系统的一个重要组成部分,软件开发完毕后应与系统中其它成分集成在一起,此时需要进行一系列系统集成和确认测试。
对这些测试的详细讨论已超出软件工程的范围,这些测试也不可能仅由软件开发人员完成。
在系统测试之前,软件工程师应完成下列工作:
(1)为测试软件系统的输入信息设计出错处理通路;
(2)设计测试用例,模拟错误数据和软件界面可能发生的错误,记录测试结果,为系统测试提供经验和帮助;
(3)参与系统测试的规划和设计,保证软件测试的合理性。
系统测试应该由若干个不同测试组成,目的是充分运行系统,验证系统各部件是否都能政党工作并完成所赋予的任务。
下面简单讨论几类系统测试。
1、恢复测试
恢复测试主要检查系统的容错能力。
当系统出错时,能否在指定时间间隔内修正错误并重新启动系统。
恢复测试首先要采用各种办法强迫系统失败,然后验证系统是否能尽快恢复。
对于自动恢复需验证重新初始化(reinitialization)、检查点(checkpointing mechanisms)、数据恢复(data recovery)和重新启动(restart)等机制的正确性;对于人工干预的恢复系统,还需估测平均修复时间,确定其是否在可接受的范围内。
2、安全测试
安全测试检查系统对非法侵入的防范能力。
安全测试期间,测试人员假扮非法入侵者,采用各种办法试图突破防线。
例如,①想方设法截取或破译口令;②专门定做软件破坏系统的保护机制;③故意导致系统失败,企图趁恢复之机非法进入;④试图通过浏览非保密数据,推导所需信息,等等。
理论上讲,只要有足够的时间和资源,没有不可进入的系统。
因此系统安全设计的准则是,使非法侵入的代价超过被保护信息的价值。
此时非法侵入者已无利可图。
3、强度测试
强度测试检查程序对异常情况的抵抗能力。
强度测试总是迫使系统在异常的资源配置下运行。
例如,①当中断的正常频率为每秒一至两个时,运行每秒产生十个中断的测试用例;②定量地增长数据输入率,检查输入子功能的反映能力;③运行需要最大存储空间(或其他资源)的测试用例;
④运行可能导致虚存操作系统崩溃或磁盘数据剧烈抖动的测试用例,等等。
4、性能测试
对于那些实时和嵌入式系统,软件部分即使满足功能要求,也未必能够满足性能要求,虽然从单元测试起,每一测试步骤都包含性能测试,但只有当系统真正集成之后,在真实环境中才能全面、可靠地测试运行性能
系统性能测试是为了完成这一任务。
性能测试有时与强度测试相结合,经常需要其他软硬件的配套支持。