• 0
  • 0
分享
  • 软件测试基础知识:软件的概述——软件测试圈
  • 恬恬圈 2023-09-11 16:26:15 字数 2028 阅读 443 收藏 0

   软件的概述

  1、软件生命周期

  先来了解软件生命周期的全过程:

1-1.jpg


  下面对软件生命周期各个过程进行逐一解析:

  (1)问题定义:由软件开发方与需求方共同讨论,主要确定软件的开发目标及其可行性。

  (2)需求分析:对软件需求进行更深入的分析,划分出软件需要实现的功能模块,并制作成文档。(需求分析说明书)

  (3)软件设计:在需求分析结果的基础上,对整个软件系统进行设计,包括系统框架设计、数据库设计等。(概要设计、详细设计)

  (4)软件开发:在软件设计的基础上,选择一种编程语言进行开发。

  (5)软件测试:软件开发完成后对软件进行测试,以查找软件设计与软件开发过程中存在的问题并加以修正。

  (6)软件维护:软件投入使用之后,可能无法满足用户的使用需求,此时就需要对软件进行维护升级以延续软件的使用寿命。软件维护是软件生命周期中持续时间最长的阶段。

  2、开发过程中的角色

  (1)高级经理:参与项目过程中各个关键环节的活动,关注产品开发的进度,对风险控制、资源提供做出决策。

  (2)产品经理(项目经理):作为客户方和公司内部交流的纽带,对项目过程进行监控,对项目的进度、质量负责。

  (3)开发经理:是具体开发过程的领导者,必需由熟悉业务和开发技术的专家担任;职责是界定需求,确定适当的技术架构和体系,保证软件产品按照设计的标准开发。

  (4)设计师:软件蓝图设计者,可以分需求分析师、架构设计师、业务设计师三种。基本活动包括:需求分析、架构设计和功能设计,按照规范编写相应的文档。

  (5)测试经理:测试活动的领导者,是公司内部认定的产品质量责任人。责任是计划和组织测试人员对目标产品进行测试,发现bug、跟踪bug直到解决bug;计划和组织用户培训工作。

  (6)开发人员:根据设计师的设计成果进行具体编码工作,对自己的代码进行基本的单元测试。

  (7)测试人员:根据测试经理的计划和测试总体方案对目标产品进行测试,编写测试用例和测试代码,发现和跟踪bug;编写用户手册;进行用户培训和教育。

  (8)项目实施人员:针对工程性质的项目必需的人员配置,负责软件系统安装配置、系统割接、运行期间的维护工作。

  3、软件开发模型

  (1)瀑布模型

  优点:检查点清晰,分工明确,有利于大型软件软件开发人员的组织管理及工具的使用与研究,可以提高开发的效率。

  缺点:严格按照线性执行,增加了开发风险;要求必须有产出结果,增加了开发工作量。那么,对于现代软件,各阶段之间的关系很少是线性,瀑布模型已经不适合现代软件开发。

1-2.jpg


  (2)快速原型模型

  优点:克服了需求不明确带来的风险,适用于不能预先确定需求的软件项目。

  缺点:原型设计较难;不利于开发人员对产品的扩展。

1-3.jpg


  (3)迭代模型

  优点:适应客户需求变更;降低了开发成本和风险。

  缺点:增加了集成失败风险;容易退化为“边做边改”模式,失去对整个项目的控制。

1-4.jpg

  (4)螺旋模型

  优点:强调了风险分析,有助于将软件质量融入开发中;小分段构建大型软件,易于计算成本;客户参与,保证项目可控性。

  缺点:构建过程太过繁琐,不适合小型项目。

1-5.jpg

  (5)敏捷模型

  定义:敏捷模型以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。

  特点:

  项目被拆分成多个子项目,迭代完成,每个迭代都要经过测试。

  快速响应需求变更,在修改过程中,软件一直处于可用状态。

  不断对产品进行细微、渐进式地改进,每次改进一小部分,如果可行再逐步扩大改进范围。

  开发未动,测试先行。

  注重“人”的作用。

  优点:及时响应客户需求变更,不断适应新的趋势。

  缺点:管理相对混乱,不适合大型项目。

  4、软件质量概述

  (1)定义:软件质量是指软件产品满足基本需求及隐式需求的程度。软件产品满足基本需求是指其能满足软件开发时所规定需求的特性;其次是软件产品满足隐式需求的程度。

  (2)软件质量模型:ISO/IEC 9126:1991质量模型是最通用的一个评价软件质量的国际标准,建立在MCCall和Boehm模型基础之上,主要描述了内部质量、外部质量和使用质量。由6个特性和27个子特性组成。

  软件质量模型图如下:

1-6.jpg

  对内部质量、外部质量和使用质量进行逐一解析:

  ①内部质量:针对内部质量需求被测量和评价的质量,可维护性、灵活性、可移植性、可重用性、可读性、可测试性、可理解性。

  ②外部质量:使用外部度量在模拟环境中,用模拟数据测试时,所被测量和评价的质量,即在预定的系统环境中运行时可能达到的质量水平。正确性、可用性、效率、可靠性、完整性、适应性、精确性、坚固性。

  ③使用质量:在规定的使用环境下,软件产品使特定用户在达到规定目标方面的能力。有效性、生产率、安全性、满意程度等。


作者:佚名    

来源:http://www.51testing.com/html/80/n-4480780.html

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •       本文主要讲解对两个网站的漏洞挖掘过程,其中一个为爱拍社区,即http://www.aipai.com/ 希望通过本文,能让对安全测试和渗透测试有兴趣的同学有所启发,有所帮助。    首先是我们第一个站点,爱拍社区,该网站的漏洞地址为:http://www.aipai.com/spread.php?id=&code=aGVsbG8gd29ybGQ=&action=click&id=17    其中的code参数存在xss漏洞,当我们拿过来这个url的时...
            0 1 1826
            分享
          • 沐沐这几年主要参与的是政务相关的产品测试,交付到项目现场的系统需要满足三级等保要求,因此对于系统的安全性要求较高。这里先简单的说明下等保测评,我国将信息系统的安全保护分为五个等级,等保测评主要内容有五个方面,即物理安全、网络安全、主机安全、应用安全、数据安全。沐沐参与测试的产品需要满足三级等保要求,作为测试人员,我们主要关注的就是应用的安全性。安全测试实际上是测试种类中门槛较高的一类,因此我们在安全测试过程中也主要是使用安全工具进行扫描。下文将简单的介绍一下沐沐日常工作中常用的几款Web端安全扫描工具。一、AppScanAppScan是IBM公司的出品的一款功能非常强大的Web 应用安全测试工...
            1 0 6287
            分享
          • 写在正片开始之前----论元素定位的重要性web页面的元素定位是UI自动化的基石,我在工作中见过无数同事使用工具获取xpath的方式进行元素定位,这样做有以下缺点:工具获取的元素定位多为从web树状结构的根节点开始,比如这样的: /html /body /div[4] /div[5] /div[2] /div[4] /div[4] /ul[5] /li[2] /ul /a这样的定位,页面结构略有变化就会找不到这个超链接,导致后面的维护工作量巨大。(正确的定位方法请看本文中的示例)由于不是自己分析页面结构,就无法提炼出公共的元素定位方法,无法参数化,反而效率会低。并且如果web框架进行整改,由于...
            13 13 3883
            分享
          • 概述自动化测试,顾名思义,指的是利用软件来执行测试用例并比较实际结果与预期结果的过程,以此确认软件产品的性能是否符合要求。那么,传统的手动测试方式是否还存在呢?在数字化时代之初,开发人员和测试人员需要手动执行测试,这种方法被通俗地称作“点击测试”。设想一下,当一个应用含有数百个组件和多个接口时,测试人员需要逐一手动检查它们,这个过程不仅耗时、效率低下,而且极易出错。因此,为了提升测试效率和准确性,自动化测试应运而生,它通过特定的工具自动执行这些重复的测试任务。自动化测试的优势经济高效:长期来看,可以显著降低测试成本。提高开发速度:通过减少手动测试的需求,加速测试过程。减少手动操作:自动进行重复...
            0 0 232
            分享
          •   其实大部分类型的测试都需要去准备测试数据。  ·手工测试:一些基础数据,比如配置数据等等是需要去准备的;  · 自动化测试:基础需要准备,现有数据,动态运行时产生的数据是需要准备的;  · 性能测试:跟自动化测试差不多。  这里就牵扯到了一些关于数据的概念了。  测试数据的分类  我们可以给测试数据分一些种类:  · 基础数据,比如一些内容管理系统会配置站点的标题,友情链接之类的基础配置数据;  · 存量数据,也就是现有数据。比如在测试一些电商站点的时候会提前插入一些商品信息,类目信息物流信息等;  · 动态数据,也可以叫做session数...
            0 0 545
            分享
      • 51testing软件测试圈微信