软件测试方向介绍

软件测试方向介绍
什么是软件测试?
软件测试是软件工程不可或缺的重要环节之一,是软件质量保证(Software Quality Assurance)的重要手段。软件测试的定义:“使用人工和自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别。”(IEEE 1983)
    软件测试的目的,简单的说,是通过寻错误,尽可能地为修正错误提供更多的信息,从而保证软件系统的可用性。
软件测试是贯穿软件工程始终的一个活动,由测试计划、单元测试、集成测试、系统测试、验收测试组成。此外,完整的测试活动还要有相应的缺陷跟踪系统,从而完成整个软件工程迭代开发的过程。
测试计划
当软件的系统需求确定之后,就可以制定软件的测试计划了。下面提供了一个测试计划的模版,其内容可以根据实际的项目内容进行调整。
一.  引言
1、测试目的:说明本测试计划的具体编写目的,职称预期读者范围
2、背景:对被测对象及目标进行简要说明
3、定义:列出本文件中用到的专门术语的定义和外文首字母组词的原词组
4、参考文档:制定本计划所使用的工程文档
二.  测试计划
1、软件说明:以图表形式并逐项说明被测软件的功能、输入和输出等质量指标
2、测试进度:测试的进度安排,包括进行测试的日期和工作内容
3、测试环境:测试工作对硬件环境、软件环境、测试人员等资源的要求
4、测试工具:软件测试所使用的工具
5、测试培训:为被测对象的使用提供培训的计划
三.  测试设计
1、数据库测试:对数据库和数据库进程作为一个独立的子系统进行测试
2、接口测试:系统各组件之间的接口进行测试
3、单元测试:系统的各独立单元进行测试
4、集成测试:对软件各子系统进行测试,验证业务流程与数据处理是否达到要求
5、系统测试:对系统的功能、性能、压力、安全、用户界面等进行测试
偷拍设备
6、验收测试:确保系统在交付客户能够正常的安装与配置
四.  评价准则
1、优先级与处理方式:缺陷的分类与响应等级、处理方式
2、范围:丝网除沫器安装:所选择的测试用例能够检查的范围及其局限性
3、尺度:用来判断测试工作是否能通过的评价尺度
桑叶采摘器单元测试
在了解单元测试前,首先应掌握白盒测试与黑盒测试的概念。所谓白盒测试,指盒子(被测对象)是可视的,测试人员对软件系统的内部结构和原理十分清楚。白盒测试是一种覆盖型的测试,它要求被测模块所有独立的路径都被执行一遍。相反,黑盒测试是一种功能型测试,它关注被测对象的功能实现,测试人员是不清楚软件的内部逻辑。
单元测试是一种白盒测试,它是对软件基本组成单元进行的一种测试,是整个软件测试过程中最基本的活动,通常由开发人员与测试人员协同完成。单元测试的对象可以是一个类
、一个功能模块或是一个组件。
执行单元测试,需要注意以下几方面:
单元测试的目标和任务:明确测试的目标,即被测功能模块能够被顺利的执行。
单元测试的依据与规范:明确测试依据,如系统需求与设计描述。要有统一代码书写规范。
单元测试的方法与技术:一般采用白盒测试,有手工测试和自动测试等多种方法。
单元测试的过程与结果:应有详细的单元测试描述与计划文档,对测试结果也应编制成结果分析报告。
单元测试的评估与管理:通过缺陷跟踪系统提交测试结果,对于出现的严重的问题应做及时的反馈与跟踪。
集成测试
集成测试是在单元测试完成之后开始,是对某个子系统所有功能模块的测试。集成测试介于白盒测试与黑盒测试之间,因此也被称为灰盒测试。
集成测试是软件测试活动中最为关键的,从上图可以看到,它发生在单元测试完成之后,与系统设计相对应,之后是系统测试,集成测试的成功执行是系统测试开始的基础。
执行集成测试,要把握以下几方面内容:
制定集成测试策略:针对被测子系统的特点,制定适合的策略,如自顶向下的集成、自底向上的集成、三明治集成等。
加强集成测试分析:应编制集成测试分析报告,它对集成测试的用例设计具有指导作用,是整个集成测试中最重要的一个步骤。
设计执行测试用例:集成测试的主要内容。
系统测试
系统测试是将软件、硬件、数据、人员、文档结合在一起、在正式的运行环境中,进行的
一种综合性测试。系统测试可以分为功能性和非功能性两大类,其中功能测试是系统测试的基础,主要用来验证软件系统是否严格按照需求规格说明的功能要求予以实现。非功能性测试主要包括性能测试、压力测试、容量测试、用户界面测试、安全性测试、可靠性测试、容错性测试、安装测试等内容。
在进行系统测试之前,要搞清楚系统测试与集成测试的区别。首先,二者测试的对象不同。系统测试是对整个系统及其环境进行的综合性测试,集成测试仅对某一个子系统进行测试,不涉及到软件环境。其次,二者关注的领域不同。系统测试更多从用户的角度出发,除关注软件功能能否实现外,更注重系统的性能、安全、界面效果等非功能特性。而集成测试则主要关注各模块间的接口能否实现成功调用。
软件系统的特点是错综纷纭的,因而系统测试的侧重点也有所不同。对基于J2EE架构的B/S应用软件,系统测试更偏重于性能、压力、用户界面等方面的测试。因此,系统测试要根据软件特点来制定与执行。
验收测试
验收测试发生在系统测试之后,是一种黑盒测试。它是系统开发人员与用户共同进行的一项测试工作,其目的是按照之前约定的验收标准,通常在需求分析说明书中列出详细标准,使用户对系统进行验收和签字。
软件测试的目的
软件测试的目的,第一是确认软件的质量,其一方面是确认软件做了你所期望的事情(Do the right thing),另一方面是确认软件以正确的方式来做了这个事件(Do it right)。
      第二是提供信息,比如提供给开发人员或程序经理的反馈信息,为风险评估所准备的信息。
      第三软件测试不仅是在测试软件产品的本身,而且还包括软件开发的过程。如果一个软件产品开发完成之后发现了很多问题,这说明此软件开发过程很可能是有缺陷的。因此软件测试的第三个目的是保证整个软件开发过程是高质量的。
      软件质量是由几个方面来衡量的:一、在正确的时间用正确的的方法把一个工作做正确(Doing the right things right at the right time.)。二、符合一些应用标准的要求,比如
不同国家的用户不同的操作习惯和要求,项目工程中的可维护性、可测试性等要求。三、质量本身就是软件达到了最开始所设定的要求,而代码的优美或精巧的技巧并不代表软件的高质量(Quality is defined as conformance to requirements, not as goodness or elegance.)。四、质量也代表着它符合客户的需要(Quality also means meet customer needs.)。作为软件测试这个行业,最重要的一件事就是从客户的需求出发,从客户的角度去看产品,客户会怎么去使用这个产品,使用过程中会遇到什么样的问题。只有这些问题都解决了,软件产品的质量才可以说是上去了。
测试人员在软件开发过程中的任务
1、寻Bug
    2、避免软件开发过程中的缺陷;
    3、衡量软件的品质;
    4、关注用户的需求。
    总的目标是:确保软件的质量
软件测试的现状
, 软件开发中出现错误或缺陷的机会越来越多.
市场对软件质量重要性的认识逐渐增强.所以,软件测试在软件项目实施过程得到越来越多的重视。但也还存在一些认识上的误区。
(1)误区之一:软件开发完成后进行软件测试
人们一般认为,软件项目要经过以下几个阶段:需求分析,概要设计,详细设计,软件编码,软件测试,软件发布.据此,理疗环认为软件测试只是软件编码后的一个过程.博物馆展柜制作这是不了解软件测试周期的错误认识.软件测试是一个系列过程活动,包括软件测试需求分析,测试计划设计,测试用例设计,执行测试.玻璃模具设计因此,软件测试贯穿于软件项目的整个生命过程.在软件项目的每一个阶段都要进行不同目的和内容的测试活动,以保证各个阶段的正确性.软件测试的对象不仅仅是软件代码,还包括软件需求文档和设计文档.软件开发与软件测试应该是交互进行的,例如,单元编码需要单元测试,模块组合阶段需要集成测试.如果等到软件编码结束后才进行测试,那么,测试的时间将会很短,测试的覆盖面将很不全面,测试的效果也将大打折扣.更严重的是如果此时
发现了软件需求阶段或概要设计阶段的错误,如果要修复该类错误,将会耗费大量的时间和人力.

本文发布于:2024-09-21 10:50:58,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/101441.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议