软件工程

软测大作业

巧了我就是萌 提交于 2020-01-16 16:15:52
软件测试大作业 一、 学习方向 对于我自己而言,现在首要的任务便是更多的学习,更多的积累,有关于计算机的知识。首先我认为我应该把想,C,C++,Python,java,这样的编程语言学好,学熟,学精,为了后面能够更好的对专业的知识的学习,如此够更好的为自己积累资本。 二、 毕业意向 毕业的问题我想了很多,这也我必须面对问题,对于毕业一会我想从事计算机方面的的职业这是不言而喻的,更加准确的来说的话我想要从事一名安全防护工程师或者安全管理工程师,现在信息安全专业就业缺口是非常大的,我国已进入“互联网+时代”,各行各业的发展都依赖于互联网,信息安全需要一大批专业人士去建设和维护。因此这是我努力的方向。也是我毕业之后最想做的事情。 三、 谈自己对软件测试的了解与认知 软件测试依据测测试对象的不同可分为 性能测试、安全测试、兼容性测试等类型。 软件测试的方法主要有静态测试:此类测试的优点在于能够消耗较短时间、较少资源完成对软件、软件代码的测试,能够较为明显地发现此类代码中出现的错误。静态测试方法适用范围较大,尤其适用于较大型的软件测试. 动态测试:主要为检测软件中动态行为是否缺失、软件运行效果是否良好。其最为明显的特征即为进行动态测试时软件为运转状态 黑盒测试: 通过数据输入观察数据输出,检查软件内部功能是否正常。 白盒测试: 白盒测试相对于黑盒测试而言具有一定透明性,原理为根据软件内部应用

什么是软件需求?

爱⌒轻易说出口 提交于 2020-01-15 04:20:35
根据IEEE软件工程标准词汇表(1997年),软件需求被定义为: (1)用户解决问题或达到目标所需的条件或权能(Capability)。 (2)系统或系统部件要满足合同、标准、规范或其它正式规定文档所需具有的条件或权能。 (3)一种反映上面(1)或(2)所描述的条件或权能的文档说明。 简而言之,软件需求分析的任务就是解决目标系统“做什么”的问题,但不涉及系统“如何做”的问题。但是软件需求往往是相对的,具有层次性。一个软件系统的需求可能是企业解决方案的一部分,而软件系统的总体设计方案同时也决定了子系统的需求。因此,脱离业务背景分析软件需求,是不现实的,不顾总体系统的设计方案,分析子系统的需求,也是没有意义的。 软件需求是连接问题域和方案域的桥梁,是当前软件工程中的关键问题,可以说没有明确的需求就没有正确的软件,很多软件项目失败就是因为需求存在问题。 最初,需求分析仅仅是软件工程的一个组成部分,是软件生命周期的第一个阶段。虽然大家也都知道需求分析对软件整个生命周期的重要性,但对它的研究远远没有对软件工程的其他部分的研究那么深入。 在传统软件工程生命周期中,需求分析的作用仅仅是: 1) 系统工程师描述软件的功能和性能,指明软件和其他系统成分的接口,并定义软件必须满足的约束; 2) 软件工程师求精软件的配置,建立数据模型、功能模型和行为模型; 3) 为软件设计者提供可用于转换为数据设计

软件工程【第2章】- 软件生存周期、过程

心已入冬 提交于 2020-01-15 02:32:13
1.软件生存周期   定义:一个软件项目从问题提出直到软件不用为止。   分为:计划、开发、维护   软件生存周期的主要活动:     需求分析:     软件分析     软件设计:     编码:     软件测试:     运行维护: 2.软件过程   定义:围绕软件开发所进行的一系列活动   过程模型:     把软件生存周期中软件开发活动的有序流程用一个合理的框架来规范描述     软件过程模型是一种软件过程的抽象表示法,它从一个特定的角度表现一个开发过程。   传统的过程模型:     瀑布模型:(前一阶段的活动没有结束,下一阶段的活动就不能进行)       特点:         阶段的顺序性和依赖性         推迟实现的观点         质量保证的观点       问题:         不适合需求模糊的系统         开发初始阶段很难彻底     快速原型模型:       先建立符合用户需求的原型,然后将原型反复改进,直至建立完全符合要求的新系统。       特点:         “逼真”的原型可以使用户迅速作出反馈         循环回溯和迭代:非线性模型         使用快速开发工具       问题:         舍不得抛弃,影响软件质量   软件演化模型:     增量模型:       增量:         

CMMI 笔记

∥☆過路亽.° 提交于 2020-01-15 01:14:56
前言: CMMI:Capability Maturity Model Integration 软件能力成熟度模型 CMU/SEI:卡内基梅隆大学/软件工程研究所 CDIO:构思(Conceive)、设计(Design)、实现(Implement)和运作(Operate),工程教育模式。 从2000年起,麻省理工学院和瑞典皇家工学院等四所大学组成的跨国研究获得Knut and Alice Wallenberg基金会近2000万美元巨额资助,经过四年的探索研究,创立了 CDIO 工程教育理念,并成立了以 CDIO命名的国际合作组织。 第一章 软件工程基础 一 软件工程基本原理 1968年,联邦德国召开一次国际会议上提出“软件工程”。 1983年,著名软件工程专家波汉姆(Barry Boehm)通过论文提出软件工程7条基本原理。确保软件产品质量和开发效率的原理的最小集合。 1 按照软件生命周期的阶段划分制定计划,严格依据计划进行管理。 共有六类计划,项目概要计划,里程碑计划,项目控制计划,产品控制计划,验证计划和运行维护计划。 2 坚持进行阶段评审。 统计结果显示63%缺陷来自设计阶段,并且发现于改正越晚,付出代价越高。每个阶段评审目的为了尽早发现错误。 3 实行严格的产品控制。 变需求需要付出代价,但需求变更符合客观需要,因此需要科学控制技术。主要实行基准配置管理(变更控制),定义基线

软件测试大作业

荒凉一梦 提交于 2020-01-14 22:09:52
软件测试小组大作业 1.1 毕业意向 我将来想要从业的方向是软件测试工程师或者软硬件开发人员。我们的专业是人工智能,而人工智能目前是一个快速增长的领域,人才需求量大,相对于其他技术岗位,竞争力偏低。我初步的打算是毕业后直接就业,没有考研的意向,但学历毕竟是一个找工作时要具备的硬性条件,所以,我必须付出比他人多的精力来学习,加倍努力。我将来想要就业的城市是北京,深圳等大城市,相对于小城市,大城市的发展前景更好一些,同时,就业面也更加广泛。 1.2 对软件测试工程师的个人理解 ( 1 )个人理解 在我看来,软件测试工程师主要做的工作是理解产品的功能需求,并对其进行测试,检查软件有没有错误,决定软件是否具有稳定性,写出相应的测试规范和测试用例的专门工作人员。 而软件测试师也是一门极具挑战性的工作,愿今后的自己可以不断挑战自己。 ( 2 )软件测试类型 软件测试类型主要分为:功能测试,性能测试,以及界面测试。 1、功能测试 测试工作中占的比例最大,功能测试也叫黑盒测试。是把测试对象看作一个黑盒子。利用黑盒测试法进行动态测试时,需要测试软件产品的功能,不需测试软件产品的内部结构和处理过程。 采用黑盒技术设计测试用例的方法有:等价类划分、边界值分析、错误推测、因果图和综合策略。 2、性能测试 是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试

软件测试岗位会不会被开发取代?

被刻印的时光 ゝ 提交于 2020-01-14 20:08:31
在万物互联的移动互联网时代,早已没有了纯线下企业,大到国企,小到街边一家卖袜子的供应商都会开网店,甚至开发个微信小程序。 很多小公司都会招聘两三个开发人员,却很少见这些公司招测试人员,因为他们觉得开发就能做测试。 并且,大多数人对软件测试的认知还停留在普通的“点点点”上,他们认为测试的工作就是把开发的产品拿来用一用,测一测登录是否顺畅、点击是否可以顺利跳转、有没有常规性Bug即可。 不仅如此,大家对软件测试岗位甚至还有更深的误解,比如: 误解一:测试的工作没有任何技术含量。 很多人都认为软件测试就是安装程序、运行程序、点点鼠标、按按键盘的工作。但这几年因为用户要求越来越高,产品变得越来越复杂,测试人员的技术知识体系也需要不断更新和完善,并且随着新工具、新流程、新设计方法的出现,软件测试人员也需要像开发一样持续学习。 误解二:测试就是找bug。 找bug、交bug是测试人员最基础的工作,测试工程师需要把控整个产品质量,代表客户的利益去把控产品、验收产品,因此他们需要做得不仅仅是找bug。 误解三:测试只是软件上线前无关紧要的一道程序。 一个项目的完成,基本要经过以下几个阶段:需求分析、概要设计、详细设计、软件编码、软件测试、软件发布。 大多数人都认为测试只是软件开发过程中的最后一步,不需要care前面的种种工作, 其实并非如此,软件测试是一个系列过程,包括软件测试需求分析

如何设计编制软件测试用例(Test Case)ZT

早过忘川 提交于 2020-01-14 20:08:10
. 测试用例是软件测试的核心 软件测试的重要性是毋庸置疑的。但如何以最少的人力、资源投入,在最短的时间内完成测试,发现软件系统的缺陷,保证软件的优良品质,则是软件公司探索和追求的目标。每个软件产品或软件开发项目都需要有一套优秀的测试方案和测试方法。 影响软件测试的因素很多,例如软件本身的复杂程度、开发人员(包括分析、设计、编程和测试的人)的素质、测试方法和技术的运用等等。因为有些因素是客观存在的,无法避免。有些因素则是波动的、不稳定的,例如开发队伍是流动的,有经验的走了,新人不断补充进来;一个具体的人工作也受情绪等影响,等等。如何保障软件测试质量的稳定?有了测试用例,无论是谁来测试,参照测试用例实施,都能保障测试的质量。可以把人为因素的影响减少到最小。即便最初的测试用例考虑不周全,随着测试的进行和软件版本更新,也将日趋完善。因此测试用例的设计和编制是软件测试活动中最重要的。测试用例是测试工作的指导,是软件测试的必须遵守的准则。更是软件测试质量稳定的根本保障。 2 . 什么叫测试用例 测试用例(Test Case)目前没有经典的定义。比较通常的说法是:指对一项特定的软件产品进行测试任务的描述,体现测试方案、方法、技术和策略。内容包括测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等,并形成文档。不同类别的软件,测试用例是不同的。不同于诸如系统、工具、控制、游戏软件

软件工程——软件设计

半世苍凉 提交于 2020-01-13 22:07:48
1.软件设计的目标和任务:根据用信息域表示的软件需求,以及功能和性能需求进行数据设计、系统结构设计及过程设计。(技术观点) 2.从工程管理的角度看,软件设计分两步完成:概要设计(主要包括系统结构设计)和详细设计。(管理观点) 3.软件设计的过程:(1).制定规范 (2).软件系统结构的总体设计 (3).处理方式设计 (4).数据结构设计 (5).可靠性设计 (6).编写概要设计阶段的文档 (7).概要设计评审 4.软件设计基础:1.自顶向下,逐步细化 2. 软件结构 3.程序结构 4.结构图 5.模块化 6.抽象化 7.信息隐蔽 5.将软件的体系结构按自顶向下方式,对各个层次的过程细节和数据细节逐层细化。 6.软件结构包括两部分,程序的模块结构和数据的结构 7.程序结构分为树状结构和网状结构,树形结构层次分明,网状结构任何结点之间都可以产生联系。 8.结构图反映程序中模块之间的层次和调用关系 9.模块化能够把一个大而复杂的软件系统划分成易于理解的比较单纯的模块结构。模块具有三个基本属性:功能、逻辑和状态。 模块独立性是指软件系统中每个模块只涉及软件要求的具体的子功能,一般采用两个准则度量模块独立性,即模块间耦合和模块内聚。耦合度越高,模块独立性越差,内聚程度越高,独立性越好,模块耦合尽量使用数据耦合、少用控制耦合、限制公共耦合,完全不用内容耦合。 来源: CSDN 作者: 刘爽

对软件工程课程的期望

大兔子大兔子 提交于 2020-01-13 14:47:54
第一, 理论与实践并重 。本书介绍了软件工程的相关概念,如:软件工程、单元测试、软件开发流程、敏捷开发、软件需求、用户体验、软件测试、质量保障等。在介绍这些基本概念的同时,作者也全面地诠释了它们在实际的研发工作中是如何表现的,它们又是如何与每个开发和测试人员息息相关的。在介绍这些概念的时候,作者多用举例的形式来说明,这样也使得大家更加的容易理解。 第二, 文笔优美,图文并茂 。作者为了让读者在阅读本书的时候不感觉到枯燥,可谓是花费了大量的精力。首先,每一个文字段的内容都不是很多,防止读者对着一大页文字发呆而失去了继续读下去的勇气;其次,本书包含了很多有趣的图片,读者可以通过这些图片加深对相关概念的理解;再次,书中内容层次分明,作者将很多知识点通过几个小点顺序列出,让读者阅读和理解起来更加的容易。 第三, 语言幽默、诙谐 。软件工程里面的概念比较的枯燥和单调,作者也深知这一点。因此,在本书的很多地方,作者都用十分幽默的方式来讲述。例如,书中用“阿超”、“国栋”、“小飞”、“小李”等角色之间的对话来揭示一个概念的本质。这让读者觉得十分的“接地气”,同时通过他们之间风趣的对话又加快了对相关概念的理解。个人觉得,这是本书最大的特色。 第四, 覆盖面广,知识点齐全 。本书旨在介绍软件工程,但又不仅仅是介绍软件工程。本书对软件工程师的成长、IT行业的创新和职业道德等也进行了细致的介绍