`
activemq
  • 浏览: 27008 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

软件工程 与 软件测试

阅读更多
[color=white]1﹑软件产品的特性
产品特性:
⑴是一种逻辑产品,与物质产品有很大的区别。
⑵软件产品的生产主要是研制,生产成本主要在开发和研制,开发研制完成后,通过复制就产生了大量软件产品。
⑶软件产品不会用坏,不存在磨损,消耗。
⑷生产主要是脑力劳动,还末完全摆脱手工开发方式,大部分产品是"定做"的
⑸开发软件的费用不断增加,致使生产成本相当昂贵。

2﹑软件生产的阶段及特征
⑴程序设计时代:这个阶段生产方式是个体劳动,使用的生产工具是机器语言,汇编语言。
⑵程序系统时代:这个阶段生产方式是小集团合作生产,使用的生产工具是高级语言,开发方法仍依靠个人技巧,但开始提出结构化方法。
⑶软件工程时代:这个阶段生产方式是工程化的生产,使用数据库﹑开发工具﹑开发环境﹑网络﹑分布式﹑面向对象技术来开发软件。

3﹑软件危机,产生原因
软件开发技术的进步未能满足发展的要求。在软件开发中遇到的问题找不到解决的办法,问题积累起来,形态尖锐的矛盾,导致了软件危机。
产生原因:
⑴ 软件规模越来越大,结构越来越复杂。
⑵ 软件开发管理困难而复杂。
⑶ 软件包开发费用不断增加。
⑷ 软件开发技术落后。
⑸ 生产方式落后,仍采用手工方式。
⑹ 开发工具落后,生产率提高缓慢。

4﹑软件工程定义,它目标和内容
软件工程就是用科学的知识程和技术原理来定义,开发,维护软件的一门学科。
软件工程目标:付出较低开发成本;达到要求的功能;取得较好的性能;开发的软件易于移植;只需较低的维护费用;能按时完成开发任务,及时交付使用;开发的软件可靠性高。
软件工程内容:研究内容包括开发技术和开发管理两个方面。
开发技术主要研究:软件开发方法,开发过程,开发工具和环境。
开发管理主要研究:软件管理学,软件经济学,软件心理学。

5﹑软件工程面临的问题
软件工程需要解决的问题:软件的费用,可靠性,可维护性,软件生产率和软件的重用。

6﹑软件生存周期
软件生存周期:一个软件从提出开发要求开始直到该软件报废为止的整个时期。
包括:可行性分析和项目开发计划,需求分析,概要设计,详细设计,编码,测试,维护。

7﹑软件生存周期模型,主要模型
生存周期模型:描述软件开发过程中各种活动如何执行的模型。对软件开发提供强有力的支持,为开发过程中的活动提供统一的政策保证,为参与开发的人员提供帮助和指导,是软件生存周期模型化技术的基础,也是建立软件开发环境的核心。
主要有:瀑布模型,增量模型,螺旋模型,喷泉模型,基于知识的模型,变换模型。

8﹑软件开发方法,主要方法
使用早已定义好的技术集及符号表示习惯来组织软件生产的过程。通过使用成功的软件开发方法,在规定的投资和时间内,开发出符合用户需求的高质量的软件。软件开发方法是克服软件危机的重要方面之一,对软件工程及软件包产业的发展起了不可估量的作用。
主要有:结构化方法,JACKSON方法,维也纳开发方法﹙VDM﹚,面向对象开发方法。


软件测试 :


黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的区别
黑盒测试:已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求。
  白盒测试:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否以经过检查。

  软件的黑盒测试意味着测试要在软件的接口处进行。这种方法是把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,
只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。因此黑盒测试又叫功能测试或数据驱动测试。黑盒测试主要是为了发现以下几类错误:
  1、是否有不正确或遗漏的功能?
  2、在接口上,输入是否能正确的接受?能否输出正确的结果?
  3、是否有数据结构错误或外部信息(例如数据文件)访问错误?
  4、性能上是否能够满足要求?
  5、是否有初始化或终止性错误?

  软件的白盒测试是对软件的过程性细节做细致的检查。这种方法是把测试对象看做一个打开的盒子,
它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。
通过在不同点检查程序状态,确定实际状态是否与预期的状态一致。因此白盒测试又称为结构测试或逻辑驱动测试。
白盒测试主要是想对程序模块进行如下检查:

  1、对程序模块的所有独立的执行路径至少测试一遍。
  2、对所有的逻辑判定,取“真”与取“假”的两种情况都能至少测一遍。
  3、在循环的边界和运行的界限内执行循环体。
  4、测试内部数据结构的有效性,等等。

  单元测试(模块测试)是开发者编写的一小段代码,用于检验被测代码的一个很小的、很明确的功能是否正确。

通常而言,一个单元测试是用于判断某个特定条件(或者场景)下某个特定函数的行为。

  单元测试是由程序员自己来完成,最终受益的也是程序员自己。
可以这么说,程序员有责任编写功能代码,同时也就有责任为自己的代码编写单元测试。
执行单元测试,就是为了证明这段代码的行为和我们期望的一致。

  集成测试(也叫组装测试,联合测试)是单元测试的逻辑扩展。
它的最简单的形式是:两个已经测试过的单元组合成一个组件,并且测试它们之间的接口。
从这一层意义上讲,组件是指多个单元的集成聚合。在现实方案中,许多单元组合成组件,而这些组件又聚合成程序的更大部分。
方法是测试片段的组合,并最终扩展进程,将您的模块与其他组的模块一起测试。最后,将构成进程的所有模块一起测试。

  系统测试是将经过测试的子系统装配成一个完整系统来测试。它是检验系统是否确实能提供系统方案说明书中指定功能的有效方法。(常见的联调测试)

  系统测试的目的是对最终软件系统进行全面的测试,确保最终软件系统满足产品需求并且遵循系统设计。

  验收测试是部署软件之前的最后一个测试操作。验收测试的目的是确保软件准备就绪,并且可以让最终用户将其用于执行软件的既定功能和任务。
验收测试是向未来的用户表明系统能够像预定要求那样工作。经集成测试后,已经按照设计把所有的模块组装成一个完整的软件系统,接口错误也已经基本排除了,接着就应该进一步验证软件的有效性,这就是验收测试的任务,即软件的功能和性能如同用户所合理期待的那样。

1.单元测试的主要目的是针对编码过程中可能存在的各种错误,例如用户输入验证过程中的边界值的错误。

2.集成测试主要目的是针对详细设计中可能存在的问题,尤其是检查各单元与其它程序部分之间的接口上可能存在的错误。

3.系统测试主要针对概要设计,检查了系统作为一个整体是否有效地得到运行,例如在产品设置中是否达到了预期的高性能

4.验收测试通常由业务专家或用户进行,以确认产品能真正符合用户业务上的需要(需求)。
[/color]
分享到:
评论

相关推荐

    软件工程与软件测试技术.pdf

    软件工程与软件测试技术是软件开发中至关重要的两个领域,它们确保了软件产品的质量和可靠性。软件工程关注的是软件的设计、开发、维护和管理的过程和方法,而软件测试技术则着重于通过一系列测试来发现和解决软件中...

    软件工程与软件测试技术考试题.doc

    《软件工程与软件测试技术》 1、单选题 1.软件测试的说法,哪一项是错误的 A A. 软件测试就是程序测试 B. 软件测试贯穿于软件定义和开发的整个期间 C. 需求规格说明、设计规格说明都是软件测试的对象 D. 程序是软件...

    《软件工程与软件测试技术》期末复习大纲.pdf

    《软件工程与软件测试技术》是一门涵盖软件开发全生命周期中测试环节的学科,旨在培养学生理解和掌握软件测试的理论与实践。本课程的核心知识点包括以下几个方面: 1. **软件工程和软件测试概述**:理解软件的基本...

    软件工程与软件测试 软件测试信息流

    在软件开发过程中,软件工程与软件测试是两个至关重要的环节,它们共同确保了产品的质量和可靠性。软件测试,作为其中的关键部分,主要任务是查找并修复软件中的错误、缺陷和漏洞,以提高软件的稳定性和用户体验。 ...

    [软件测试与软件工程-测试报告.doc]软件工程与软件测试的联系.doc

    [软件测试与软件工程_测试报告.doc]软件工程与软件测试的联系 软件测试与软件工程_测试报告 软件测试和软件工程都是大家很熟悉的概念了,尤其对于那些从事软件测试的人来说, 软件测试已经成了大脑中挥之不去的一...

    2017年下半年软件测评师考试软件工程与软件测试基础知识真题.doc

    2017年下半年软件测评师考试软件工程与软件测试基础知识真题

    南开21春学期《软件工程与软件测试技术》在线作业-随机试卷.pdf

    [ 选项 -A] 软件工程包括软件开发和软件维护两个阶段[ 选项 -B] UML 是一种统一的建模语言,用于可视化地表示软件系统[ 选项 -C] 白盒测试主要根据程序的内部逻辑来设计测试用例[ 选项 -D] 软件测试是在编码阶段结束...

    [答案][南开大学]2021春《软件工程与软件测试技术》在线作业-1.doc

    [答案][南开大学]2021春《软件工程与软件测试技术》在线作业-1.doc[答案][南开大学]2021春《软件工程与软件测试技术》在线作业-1.doc[答案][南开大学]2021春《软件工程与软件测试技术》在线作业-1.doc[答案][南开...

    软件工程与软件测试自动化教程

    在IT行业中,软件工程与软件测试自动化是两个至关重要的领域,它们确保了计算机系统的稳定性和安全性,以及软件产品的高质量和高效开发。让我们深入探讨这两个主题。 **软件工程** 是一个系统性的方法,它涵盖了...

    软件工程与软件测试试题

    软件工程与软件测试试题 一、软件工程概述 软件工程是研究软件开发和维护过程的学科。软件工程的研究者将软件开发和维护过程概括为8大活动:软件定义、软件开发、软件测试、软件维护、软件项目管理、软件配置管理...

    《软件工程与软件测试技术》案例分析PPT课件.ppt

    "软件工程与软件测试技术案例分析" 软件工程与软件测试技术是软件开发过程中的重要组成部分,涉及到软件设计、开发、测试和维护等多个方面。在软件开发过程中,为了确保软件的质量和可靠性,需要对软件进行充分的...

    软件工程与软件测试阶段3.pdf

    根据文件信息,这是一份关于软件工程与软件测试阶段3的相关内容文档。由于提供的部分内容是一些看似乱码和数字的排列组合,且提示表明这些内容是OCR扫描结果,可能存在识别错误。因此,我将依据标题和描述,结合软件...

    软件工程与软件测试技术期末复习大纲.pdf

    《软件工程与软件测试技术》课程的复习大纲涵盖了软件工程的基本概念、软件测试的基础知识、白盒测试技术、黑盒测试技术、性能测试、案例分析、软件测试标准以及敏捷测试和前沿技术等多个方面,旨在帮助学生全面理解...

    软件工程与软件测试技术.doc

    《软件工程与软件测试技术》 课程复习资料 "课程名称 "软件工程与软件测试技术 " "教 "名称 "软件测试理论与实践教程 " "材 " " " "信 " " " "息 " " " " "出版社 "人民邮电出版社 " " "作者 "张向宏主编 " " "版次 ...

    软件工程与软件测试技术期末复习大纲.docx

    《软件工程与软件测试技术》课程的复习大纲涵盖了软件工程的基本概念、软件测试的基础理论、白盒测试技术、黑盒测试技术、性能测试、案例分析、软件测试标准以及前沿技术等多个方面,旨在帮助学生全面理解和掌握软件...

    南开大学复习资料-软件工程与软件测试技术0001.docx

    软件工程与软件测试技术 软件工程是指将系统化、规范化和可量化的方法应用于软件的开发、测试和维护,以确保软件产品的质量和可靠性。软件测试是软件工程的一个重要组成部分,旨在评估软件是否满足指定的要求和期望...

    《软件工程与软件测试技术》期末复习大纲.docx

    《软件工程与软件测试技术》是一门涵盖软件开发全过程及测试技术的核心课程。这门课程旨在教授学生如何理解和应用软件工程的基本概念,以及如何有效地进行软件测试,确保软件产品的质量和可靠性。 首先,软件工程和...

Global site tag (gtag.js) - Google Analytics