精华内容
下载资源
问答
  • 简单谈谈对软件工程的理解

    千次阅读 2020-02-24 03:50:48
    对软件工程的理解 在阅读了《软件工程实践这的研究方法》之后,对软件工程有了一定的了解和掌握。接下来,谈一谈我对软件工程的大致理解。 既然谈论软件工程那么肯定要知道他的定义是啥,我个人的理解软件工程...

    对软件工程的理解

    在阅读了《软件工程实践这的研究方法》之后,对软件工程有了一定的了解和掌握。接下来,谈一谈我对软件工程的大致理解。

    既然谈论软件工程那么肯定要知道他的定义是啥,我个人的理解,软件工程就是按照工程学的管理方式,有组织、有计划的,在一定的质量基础、时间限度和成本范围内,实现功能明确的软件系统。而且,软件工程在企业范围内运行,一定需要企业资源的支持,要与企业的经营、决策、管理体系联系在一起,才能够被踏踏实实的落实下来。

      在软件工程中,软件团队是一个很重要的部分。个人技术固然很重要,但放在整个软件工程中也显得微不足道。接下来就是软件本身的开发,一个软件的诞生最先的就是需求分析,只有先把需求分析完成好后程序员才能去根据需求分析设计和实现代码。在软件的完成后则需要对其进行测试,对软件的质量有所保证,软件稳定之后才能发布。所以说软件工程专业是一门研宄用工程化方法构建和维护有效的、实用的和高质量的软件的学科。而且它涉及到程序设计语言,数据库,软件开发工具,系统平台,标准,设计模式等各个方面。

       在现代社会中,软件应用于多个方面。典型的软件比如有电子邮件,嵌入式系统,人机界面,办公套件,操作系统,编译器,数据库,游戏等。再者,在现在的各个行业中几乎都有计算机软件的应用,比如工业,农业,银行,航空,政府部门等。这些应用促进了经济和社会的发展,使得人们在高效工作的同时,也提高了生活质量。

    在早期的软件工程,他的发展是理清软件工程过程的各种活动,提出软件生命周期的概念和软件开发的瀑布模型,制定软件生命周期中主要活动的质量标准。

    而现在不一样了,现今的软件工程专业涵盖了很多个知识域:

    软件工程过程:管理软件工程过程的目的是,实现一个新的或者更好的过程。软件工程过程关注软件过程的定义、实现、评估、測量、管理、变更、改进以及过程和产品的度量。软件工程过程分为,围绕软件生存周期过程的技术和管理活动,即需求获取、软件开发、维护和退役的各种活动。对软件生存周期的定义、实现、评估、度量、管理、变更和改进

    软件需求(建模过程):软件需求描述解决现实世界某个问题的软件产品,及对软件产品 的约束。软件需求涉及需求抽取、需求分析、建立需求规格说明和确认,涉及建模、软件开发的技术、经济、时间可行性分析。软件需求直接影响软件设计、软件测试、软件维护、软件配置管理、软件工程管理、软件工程过程和软件质量等。

    软件设计(建模过程):设计是软件工程最核心的内容。设计既是“过程”,也是这个过程的“结果”。软件设计由软件体系结构设计、软件详细设计两种活动组 成。它涉及软件体系结构、构件、接口、以及系统或构件的其它特征,还涉及软件 设计质量分析和评估、软件设计的符号、软件设计策略和方法等。

    软件构造:通过编码、单元测试、集成测试、调试、确认这些活动,生成可 用的、有意义的软件。软件构造除要求符合设计功能外,还要求控制和降低程序复 杂性、预计变更、进行程序验证和制定软件构造标准。软件构造与软件配置管理、 工具和方法、软件质量密切相关。

    评审技术:在开发软件工程工作产品时可能会犯错误,这并不是羞耻的事—只要在产品交付最终用户之前,努力、很努力地发现并纠正错误即可。技术评审是在软件过程早期查错最有效的机制。人员:软件工程师和同事一起进行技术评审,也叫同行评审

    软件测试:测试是软件生存周期的重要部分,涉及测试的标准、测试技术测试度量和测试过程。测试不再是编码完成后才开始的活动,测试的目的是标识缺陷和问题,改善产品质量。软件测试应该国绕整个开发和维护过程。测试在需求阶段就应该开始,測试计划和规程必须系统,并随着开发的进展不断求精。正确的软件工程质量观是预防,避兔缺陷和问题比改正好。代码生成前的主要测试手段是静态技术(检查),代码生成后采用动态技术(执行代码)。测试的重点是动态技术,从程序无限的执行域中选择一个有限的测试用例集,动态地验证程序是否达到预期行为。

    软件工程管理:运用管理活动,如计划、协调、度量、监控、控制和报告,确保软件开发和维护是系统的、规范的、可度量的。它涉及基础设旌管理;项目管理度量和控制计划三个层次。度量是软件管理决策的基础。近年来软件度量的标准、测度、方法、规范发展较快

    软件工程工具和方法:软件开发工具是以计算机为基础的,用于辅助软件生存周期过程。通常,工具是为特定的软件工程方法设计的,以减少手工操作的负担、使软件工程更加系统化。软件工具的种类很多,从支持个人到整个生存周期。软件工具分为:需求工具、设计工具、构造工具、测试工具、维护工具、配置管理工

    具、工程管理工具、工程过程工具、软件质量工具等。软件工程方法支持软件工程活动,使软件开发更加系统,并能获得成功。软件开发方法不断发展。当前,软件工程方法分为:启发式方法,包括结构化方法、面向数据方法、面向对象方法和特定域方法;基于数学的形式化方法;用软件工程多种途径实现的原型方法,原型方法帮助确定软件需求、软件体系结构,用户界面等。

    软件质量:软件质量贯穿整个软件生存周期,涉及软件质量需求、软件质量度量、软件属性检测、软件质量管理技术和过程等。

    软件配置管理:为了系统的控制配置变更,维护整个系统生命周期中配置的致性和可追踪性,必须按时间管理软件的不同配置,包括配置管理过程的管理、软件配置鉴别、配置管理控制、配置管理状态记录、配置管理审计、软件发布和交付管理等

    产品度量:产品度量关注的是软件工程工作产品具体的、可测量的属性,帮助软件工程师认识他们所开发的软件的设计和构造。对计算机软件开发而言,定性要素总是存在的。软件工程师需要客观标准以帮助指导数据、体系结构、界面和构件的设计。测试人员需要定量指标以帮助选择测试用例及其目标。产品度量为分析、设计、编码和测试能更客观地执行和更定量地评估提供基础。

    软件项目管理:在软件从初始的概念演化为可运行的实现的过程中,项目管理涉及对人员、过程和所发生事件的策划和监控。人员:在软件项目中,每个人或多或少都做着“管理”工作。但是,管理活动的范围各不相同。软件工程师管理他的日常活动,计划和监控技术任务。项目经理计划和监控软件工程师团队的工作。高级管理者协调业务和软件专业人员之间的关系。构造计算机软件是一项复杂的任务,尤其是当它涉及很多人员长期共同工作的时候。这就是为什么软件项目需要管理的原因。

    风险管理:很多问题都会困扰软件项目,风险分析和风险管理就是辅助软件团队理解和管理不确定事物的活动。风险是潜在的一它可能发生也可能不发生。但是,不管发生还是不发生,都应该去识别它,评估它发生的概率,估算它的影响,并制定它实际发生时的时应急计划。

    软件维护:软件产品交付后,需要改正软件的缺陷、提高软件性能或其他属性、使软件产品适应新的环境。软件维护是软件进化的继续。软件维护要支持系统快速地、便捷地满足新的需求。基于服务的软件维护越来越受到重视。软件维护是软件生存周期的组成部分。然而,历史上维护从未受到重视。情况有了改变,软件组织力图使软件运营时间更长,软件维护成为令人关注的焦点

    展开全文
  • 软件测试2小时入门

    万人学习 2018-10-10 16:14:16
    本课程内容系统、全面、简洁、通俗易懂,通过2个多小时的介绍,让大家对软件测试有个系统的理解和认识,具备基本的软件测试理论基础。 主要内容分为5个部分: 1 软件测试概述,了解测试是什么、测试的对象、原则、...
  • 对软件测试的理解

    万次阅读 多人点赞 2017-03-05 20:56:58
    测试的目的:尽可能多的发现缺陷,比如功能...白盒测试必须由开发人员独立执行,因为测试人员无法理解代码内部逻辑。 黑盒测试:看不见的程序内部结构,按照规格来测试程序是否符合要求。黑盒测试必须由独立测试小组执

    测试的目的:尽可能多的发现缺陷,比如功能的错误,性能低下,易用性差。

    测试的思路:先假设程序存在什么缺陷,然后执行程序来发现缺陷。

    测试类型:白盒测试,黑盒测试。

    白盒测试:看得见的程序内部结构,测试源程序的逻辑结构和实现细节。白盒测试必须由开发人员独立执行,因为测试人员无法理解代码内部逻辑

    黑盒测试:看不见的程序内部结构,按照规格来测试程序是否符合要求。黑盒测试必须由独立测试小组执行,因为开发人员难以做到客观公正

    主要发现以下问题:是否有不正确或遗漏了的功能;在接口上,能否正确的接收输入,能否输出正确的结果; ·是否有数据结构错误或外部信息访问错误;性能上是否能够满足要求;是否有初始化或终止性错误; 黑盒测试需要在所有可能的输入条件和输出条件中确定测试数据,以检查程序是否都能产生正确的输出;有时测试数据量太大,是不现实的。

    如:测试一个模块时,白盒测试:要对所有代码进行单步跟踪测试,关注的是程序的内部细节。黑盒测试:只需测试模块的接口是否要求,关注的是程序的外部实现。

    α测试和β测试 :在软件交付使用之后,用户将如何实际使用程序,对于开发者来说是不知道的。通常在软件发布上市之前需要进行α测试和β测试。 α测试是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的测试。α测试必须是开发人员和测试小组共同参与完成。

    α测试:公司内部对软件的测试。

    α测试的目的是评价软件产品的FLURPS(功能、局域化、可使用性、可靠性、性能和支持)。尤其注重产品的界面和特色。 α测试可以从软件产品编码结束之时开始,或者在模块(子系统)测试完成之后开始,也可以在确认测试过程中产品达到一定的稳定和可靠程度之后再开始。

     β测试:产品正式发布之前,公司外部邀请用户进行测试。

    α、β、λ常用来表示软件测试过程中的三个阶段,α是第一阶段,一般只供内部测试使用;β是第二个阶段,已经消除了软件中大部分的不完善之处,但仍有可能还存在缺陷和漏洞,一般只提供给特定的用户群来测试使用;λ是第三个阶段,此时产品已经相当成熟,只需在个别地方再做进一步的优化处理即可上市发行。

    封测 的意思就是 游戏制作 刚刚完成,需要在技术上对游戏进行测试,这个阶段的测试是纯技术的,和游戏的故事情节、人设一点都没有关系,整个游戏基本处于雏形阶段,所以除了有关技术人员以外,别人是接触不到游戏的。
    内测 在这三个阶段的测试中,是时间最长的,少则几周,多则数月,这个阶段的测试至关重要,也是对游戏最全面的测试,所有的关于游戏的技术问题,以及关于游戏的故事、人设、风格、人物、服饰、语言、动作、主支线任务的合理性等等诸多方面进行测试和评估,乃至最后的修改。即使是内测,也是很少很少一部分人可以参与,大部分是游戏制作人员,运营代理商和与制作及运营游戏的商家,及一部分普通玩家。
    到了 公测 阶段,就会有相当一部分玩家参与进来,这个时候游戏已经基本定型,也就是处于正式推出的最后阶段的测试。实际上就是听取玩家的意见和反馈,以便为今后纠正错误做统计和准备,纠正错误的方式一般采取出补丁的方式。

    测试内容:

    1、功能测试:检查软件的功能是否符合要求。枚举方法:构造合理的输入,看是否有期望的输出。边界值方法:采用定义域的边界值进行测试。

    2、容错性测试:检查软件在异常情况下的反应,容错性好的软件会确保系统不发生难以预料的崩溃。方法:构造一些不合理的数据看系统的反应(错误的数据类型或定义域外的值)。

    3、性能与效率测试:测试软件的速度与对资源的利用率。极限测试:持续不停地给服务器发送请求看是否会死掉,给程序输入特别大的数据看是否能吃得消。获取测试的绝对值(如数据的传输率):记录运行环境对软件的影响。获取测试的相对值(如该软件和其他软件相比快多少倍):确保被测试的几个软件具有相同的软件和硬件环境中。

    4、易用性测试:用户不用看用户手册,即具有好的易用性。

    5、文档测试:检查文档的正确性,完备性,可理解性。


    上述内容参考该篇内容





    测试手机:

    1、电话。

    是否可以正常接受电话。

    是否可以删除通话记录。

    是否可以拉黑。

    输入错误位数号码是否有提示。

    2、短信。

    是否可以正常接收短信。

    是否可以删除短信记录。

    是否可以拉黑。

    接收短信是否有提示,发送短信是否有成功提示。

    发送内容为空时是否有提示。

    输入错误位数号码是否有提示。


    3、联系人。

    是否有电话本功能。

    是否可以新建删除更新联系人信息。

    是否可以将联系人设成常用联系人或黑名单。

    联系人输入信息为空是否有提示。

    删除联系人是否有提示。

    更新时是否有提示确认更新。


    测试题:

    1、在游戏或软件开发完成的初期,由游戏公司或软件公司发送限定的激活码或账号给玩家,由玩家测试并向游戏公司反馈使用情况和存在的问题,以促进游戏的进一步完善的环节称为内侧。

    2、单元测试能发现约80%的软件缺陷。

    3、JUnit主要用来完成什么:单元测试。JUnit是一个Java语言的单元测试框架。Junit测试是程序员测试,即所谓白盒测试。

    4、测试驱动开发,英文全称Test-Driven Development,简称TDD,是一种不同于传统软件开发流程的新型的开发方法。它要求在编写某个功能的代码之前先编写测试代码,然后只编写使测试通过的功能代码,通过测试来推动整个开发的进行。这有助于编写简洁可用和高质量的代码,并加速开发过程。测试驱动开发可以和结对编程结合使用。

    测试驱动开发适合使用CMM/CMMI方法?CMM/CMMI方法这两种方法属于测试驱动开发的方式

    CMM是指“能力成熟度模型”,它是对于软件组织在定义、实施、度量、控制和改善其软件过程的实践中各个发展阶段的描述。CMM的核心是把软件开发视为一个过程,并根据这一原则对软件开发和维护进行过程监控和研究,以使其更加科学化、标准化、使企业能够更好地实现商业目标。

    CMMI能力成熟度模型集成将各种能力成熟度模型,整合到同一架构中去,由此建立起包括软件工程、系统工程和软件采购等在内的诸模型的集成,以解决除软件开发以外的软件系统工程和软件采购工作中的迫切需求。

    5、下图用基本路径法测试需要覆盖几条路径?



    6、桩函数,也叫stub函数,存根函数。用一个桩函数替换一些接口函数,用于测试当前函数的特性。 

    在单元测试中被其它模块调用,
    在自顶向下的集成过程中尤其有效
    譬如说,要测试一个函数 f()  
    void f()  
    {  
    var = g(...);  
    }  
    f()函数中调用了函数 g(),但是在测试f()的时候g()函数可能还没有写出来  。
    这时可以写一个g()的   存根(stub)函数,来模拟g()函数,例如让它仅仅返回一个值.这样的话就可以完成对函数f()的测试了. 

    7、软件测试计划评审会需要哪些人员参加。

    软件测试计划评审会需要有 项目经理、客户(可选)、配置管理员、测试经理、开发组长,SQA 负责人等人的参加。

    SQA-Software Quality Assurance)

    8、黑盒测试方法 、白盒测试方法:

    白盒测试的测试方法有代码检查法、静态结构分析法、静态质量度量法、逻辑覆盖法、基本路径测试法、域测试、符号测试、路径覆盖和程序变异

    具体的黑盒测试用例设计方法包括等价类划分法、边界值分析法、错误推测法、因果图法、判定表驱动法、正交试验设计法、功能图法、场景法等。 

    白盒测试法的覆盖标准有 逻辑覆盖 、循环覆盖和基本 路径测试 。其中逻辑覆盖包括 语句覆盖  判定覆盖  条件覆盖 、判定/条件覆盖、 条件组合覆盖  路径覆盖 边界值法既可以用于黑盒测试用例,也可以用于白盒测试用例。边界值分析的基本思想是使用在最小值、略高于最小值、正常值、略低于最大值和最大值处取输入变量值,记为:min、min+、nom、max-、max考虑到健壮性测试,还可以加一个略大于最大值max+,以及一个略小于最小值min-的值。

    用边界值分析法,假定1<X<10,那么X在测试中应该取的边界值是X=1,X=2,X=9,X=10


    白盒测试分为:
    1.语句覆盖:可执行语句至少被执行一次;
    2.判断覆盖:每个判断的取真分支和取假分支至少经历一次;
    3.条件覆盖:每个条件的取值至少满足一次;
    4.判断条件覆盖:判断和条件都满足;
    5.条件组合覆盖:每个条件的所有可能都至少出现一次,并且判定结果至少出现一次 ;
    他与条件覆盖的区别:他不是简单要求每个条件出现“真”和“假”两种结果,而是要求这些结果所有可能至少出现一次;
    6.路径测试:执行所有可能的执行路径;
    7.基本路径测试:路径测试执行了每个路径,每个判定的结果肯定经历过一次

    判定覆盖是每个判定的真假一次,就会导致所有的结果路径会实现;
    条件覆盖是每个判定里的条件各取一次,不一定会产生所有的结果;


    9、测试方法可以分成哪几种?

    软件测试可以是人工测试:如个人复查,抽查和会审等
    也可以是机器自动测试,又有不同的分类:
    按照否关软件内部结构具体实现角度划
    A.白盒测试B.黑盒测试 C.灰盒测试 
    按照软件发程按阶段划
    A.单元测试  B.集测试  C.确认测试  D.系统测试  E.验收测试 
    灰盒测试,是介于白盒测试与黑盒测试之间的一种测试,灰盒测试多用于集成测试阶段,不仅关注输出、输入的正确性,同时也关注程序内部的情况。灰盒测试不像白盒那样详细、完整,但又比黑盒测试更关注程序的内部逻辑,常常是通过一些表征性的现象、事件、标志来判断内部的运行状态

    10、代码评审员一般由测试员担任?错!一般都是开发人员评审
    11、测试的关键问题是: 如何选择测试用例
    12、系统测试将软件,硬件,网络等其他因素结合,对整个软件进行测试.白盒测试等不是系统测试的内容。
    13、V模型大体可以划分为以下几个不同的阶段步骤:需求分析、概要设计、详细设计、软件编码、单元测试、集成测试、系统测试、验收测试。
    需求分析                            验收测试
        概要设计                    系统测试
            详细设计            集成测试
                编码            单元测试
                            V
    集成测试计划在需求分析阶段 末(mo) 提交
    14、负载测试是验证要检验的系统的能力最高能达到什么程度
    15、测试人员要坚持原则,缺陷未修复完坚决不予通过。请判断这句话的正确与否。错!!!!!!!!!!!!
    缺陷分两种:
    1、完全影响软件的正常运行或者影响客户的正常体验。
        这种当然不能予以通过
    2、不影响产品运行及客户正常体验且此软件急于使用。
        以公司利益为出发,应予以通过。但在时间不紧急的情况下应不予通过。

    一个好的测试人员应该有很好的情况分析能力,并且要有担当
    16、 软件测试的目的是为了发现错误而执行程序的过程,并不涉及改正错误。
    程序调试的基本步骤有:错误定位、修改设计和代码,以排除错误、进行回归测试,防止引进新的错误。程序调试通常称为Debug,即排错。
    软件测试的基本准则有:所有测试都应追溯到需求、严格执行测试计划,排除测试的随意性、充分注意测试中的群集现象、程序员应避免检查
    自己的程序、穷举测试不可能、妥善保存测试计划等文件。
    17、

    条件覆盖CC(Condition Coverage),设计足够多的测试用例,运行被测程序,使得每一判定语句中每个逻辑条件的可能取值至少满足一次。

    条件覆盖率的公式:条件覆盖率=被评价到的条件取值的数量/条件取值的总数X100%[1] 

    条件覆盖的缺点:只考虑到每个判定语句中的每个表达式,没有考虑到各个条件分支(或者涉及不到全部分支),即不能够满足判定覆盖.

     

    条件组合覆盖,也称多条件覆盖MCC (Multiple Condition Coverage),设计足够多的测试用例,使得每个判定中条件的各种可能组合都

    至少出现一次(以数轴形式划分区域,提取交集,建立最少的测试用例)。这种方法包含了“分支覆盖”和“条件覆盖”的各种要求。满足条件组合

    覆盖一定满足判定覆盖、条件覆盖、判定条件覆盖。条件组合覆盖率的公式:条件组合覆盖率=被评价到的条件取值组合的数量/条件取值组合的

    总数条件组合覆盖的缺点:判定语句较多时,条件组合值比较多。

     

    语句覆盖 SC(Statement Coverage),就是设计若干个测试用例,运行被测程序,使得程序中每一可执行语句至少执行一次。这里的“若干个”

    ,意味着使用测试用例越少越好。语句覆盖在测试中主要发现缺陷或错误语句。

     

    判定条件覆盖CDC(Condition/ Decision Coverage),设计足够多的测试用例,使得判定中的每个条件的所有可能(真/假)至少出现一次,

    并且每个判定本身的判定结果也至少出现一次。[1] 判定条件覆盖率的公式:条件判定覆盖率=被评价到的条件取值和判定分支的数量/(条件取值

    总数+判定分支总数).判定条件覆盖的缺点:没有考虑单个判定对整体结果的影响,无法发现逻辑错误。

    18、

    软件验收测试分为三类:

    正式验收测试;

    非正式验收测试。其中包括α测试(由用户、测试人员、开发人员共同参与的内部测试。)

                                      和β测试(内测后的公测,即完全交给最终用户测试。)

    19、

    LoadRunner,是一种预测系统行为和性能的负载测试工具。通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题, 
    可适用于各种体系架构的自动负载测试,能预测系统行为并评估系统性能。
    其测试组件有
    1.VuGen Load Generator(虚拟用户生成器)用于捕获最终用户业务流程和创建自动性能测试脚本 (也称为虚拟用户脚本)。
    2.Controller (控制器)用于组织、驱动、管理和监控负载测试。
    3.Analysis (分析器)有助于您查看、分析和比较性能结果。
    包括A脚本编辑工具 C测试执行工具 D结果分析工具
    20、 系统集成测试主要包括以下过程:1. 构建的确认过程。 2. 补丁的确认过程。 3. 系统集成测试测试组提交过程。 
          4. 测试用例设计过程。 5. 测试代码编写过程。 6. Bug的报告过程。 7. 每周/每两周的构建过程。 8. 点对点的测试过程。 
          9. 组内培训过程。
    21、

    系统测试的16个测试策略:

          功能测试、性能测试、压力测试、容量测试、安全性测试、GUI测试、可用性测试、安装测试、配置测试、异常测试,备份测试、健壮性测试、
    文档测试、在线帮助测试、网络测试、稳定性测试。
    22、α测试是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的受控测试,
    α测试不能由程序员或测试员完成。α测试发现的错误,可以在测试现场立刻反馈给开发人员,由开发人员及时分析和处理。
    目的是评价软件产品的功能、可使用性、可靠性、性能和支持。
    尤其注重产品的界面和特色。Alpha测试可以从软件产品编码结束之后开始,或在模块(子系统)测试完成后开始,
    也可以在确认测试过程中产品达到一定的稳定和可靠程度之后再开始。
    alpha 测试需要用户参加
    alpha 测试是验收测试的一种
    23、 软件测试用例包括  输入数据和预期输出结果
    24、项目立项前测试人员不需要提交任何工件。工件是加工过程中的生产对象。项目立项前,测试人员是不需要提供任何工件的。
    25、自底向上集成需要测试员编写驱动程序。自底向上测试是从“原子”模块(即软件结构最低层的模块)开始组装测试,因测试到较高层模块时,所需的下层模块功能均已具备,所以不再需要桩模块。 
    自底向上集成方法不用桩模块,测试用例的设计亦相对简单,但缺点是程序最后一个模块加入时才具有整体形象,需要开发驱动模块
    26、
    针对手机应用软件的系统测试,我们通常从如下几个角度开展:功能模块测试,交叉事件测试,压力测试,容量测试,兼容性测试,易用性/用户体验测试等.
    对手机可以施加的压力测试类型主要有:存储压力、边界压力、 响应能力压力、网络流量压力, 无并发压力
    并发压力是针对服务器的,因为每次并发是一个客户端
    27、测试设计员的职责有: 设计测试用例, 设计测试过程、脚本。
    测试设计人员主要负责设计测试用例以及设计测试过程。 制定测试计划是测试经理来做的;评估测试活动是测试经理组织开发人员来进行的。
    
    28、LoadRunner-负载压力测试:预测系统性能。
    JMeter+Badboy:基于JAVA的压力测试工具,Badboy用来进行脚本的录制 
    功能测试:通过自动录制、检测和回放用户的应用操作。将输出记录同预先给定的记录比较。 
    Junit:白盒测试工具:针对代码测试 
    测试管理工具:对测试需求、计划、用例、实施进行管理 
    测试辅助工具:本身不执行,可以生成测试数据,为测试提供数据准备 
    负载压力测试:LoadRunner:预测系统行为和性能的工业标准级负载测试工具。模拟上千万用户同时实施并发操作,来实时监控可能发生的问题。 
    功能测试: QTP(quicktest professional):自动测试工具 
    白盒测试:C++ TEST(做C和C++的白盒测试)、JUnit(Java白盒测试) 
    缺陷管理工具:Mantis、BugFree、QC、TD 
    用例管理工具:TestLink、QC 
    测试辅助工具:SVN
    28、【软件需求】是软件开发之前做好的,软件开发是根据这个做的,那么软件测试自然也需要参考该文件 【迭代计划】是软件的某个周期的计划,自然也需要参考 【可行性】是软件开发前做好,用于证明该计划可行的,没有必要参考。可行性研究报告,在软件开发前做好了,在开发前项目经理已召开进行评估,通过后才开始开发此软件,所以在测试过程中,不再需要参考次报告





    展开全文
  • 谈谈你对软件开发的理解

    千次阅读 2018-03-15 20:38:10
    我当时笔试时自己只写了软件开发的流程软件开发流程:1.需求分析2.系统的总体设计3.系统的详细设计4.编码5.测试6.软件交付7.验收8.维护

    我当时笔试时自己只写了软件开发的流程

    软件开发流程:

    1.需求分析

    2.系统的总体设计

    3.系统的详细设计

    4.编码

    5.测试

    6.软件交付

    7.验收

    8.维护

    展开全文
  • 对软件平台的理解

    万次阅读 2020-02-03 22:08:12
    开发周期短、一起维护一个平台、有利于技术积累, OEM快速定制即可这样理解。 坏处: 需要专人维护、积累经验很重要。 包罗万象是致命的缺点,不得于维护,估计太大了就做死了(共进之前的平台就是这样)。...

     

    1. 配置管理层

    这层在有多个功能入口时就很重要了,不然配置、或解析函数得copy多份。最好可以做成动态库。

    WEB

    APP

    无线功能或USB等功能模块配置

    消息处理层

    消息的统一接口,接收、分发

    功能配置 / 模块的控制接口

    模块

    具体的功能生效、调用

     

    其中绿色的部分(配置管理、控制接口、模块),应为具体的模块开发应提供的基础, 在后续开发中,如果需要增加这个模块的特性,则依次都要扩充。

    (1)纯消息机制,CGI层直接构造消息给 消息处理层, 然后再从消息处理层GET 状态信息。

    (2)保存值、发送控制消息机制。 

    (3)一个进程的方式。BRCM 4.12的SDK属于这种,页面下发值、保存配置、功能接口调用,都在Http中完成,但如果需要起进程、则发消息给SMD进程拉起。

    1、3 这两种,页面延迟反应时间长、体验不好。

    2 的方式、响应较快,但功能状态必然有延时。

     

    功能耦合处理: 目前采用了通知链,单向依赖(模块基础,层叠,上面的依赖下面的,不能相互依赖),来处理。

    但是,如果 A 、B这 2 个功能互斥(只能开一个),刚建议把这个处理放到 模块配置接口中(业务逻辑),不要放到配置管理、或CGI中,并记录相应的日志提示。(好像产品经理喜欢把这种提示直接放在WEB页面中)

    需要各种机制来保证、或是解决这种耦合问题,否则接收到消息、控制处理的进程会非常乱。

     

    2. 大平台  OR 小平台

    大平台:适合做定制项目,小修小改,平台大而全,比较适合于业务变化小,功能一致较高。后续的产品规划稳定、无较大变化。

    好处:

    开发周期短、一起维护一个平台、有利于技术积累, OEM快速定制即可这样理解。

    坏处:

    需要专人维护、积累经验很重要。

    包罗万象是致命的缺点,不得于维护,估计太大了就做死了(共进之前的平台就是这样)。太多的产品宏、芯片宏、功能宏。

    小平台 :做公共部分,适配多种产品把功能、性能做稳定,主要包括:平台框架、通信机制、基础模块(如日志、系统、必要模块)。

    好处:

    让平台脱离业务逻辑,专注做好基础。

    缺点:

    平台作用减弱、公司利润或营收减少了,首当被裁。

    如下引用大平台参考图片

     

     

     

     

    展开全文
  • 嵌入式软件理解

    千次阅读 2015-08-19 11:09:32
    嵌入式软件就是给专门的嵌入式系统设计的软件,和一般的PC软件差别不是很大,主要的区别在嵌入式系统功耗和内存大小上有严格的限制,所以嵌入式软件一定要精简,高效。 一个嵌入式系统一般都包含以下几个部分:cpu...
  • 你如何理解软件测试?

    千次阅读 2019-03-07 22:37:30
    软件测试属于软件开发过程的一个环节,与软件工程一起兴起于小型软件向大型软件开发额过渡期,按照中国人所说的人体是金木水火土的说法,如果用在软件工程上,那么测试就是一个结构进行校验的作用。 按照我的...
  • 对软件工程这门课的理解

    万次阅读 2018-03-20 13:09:58
    ​阅读本文大概需要 3 分钟 1、什么是软件工程在此之前,除了知道有软件工程这个专业,我并不知道还有软件工程这门课程,因此我不敢凭空妄谈对软件工程这门课有什么理解。当我看到作业是谈谈自己对软件工程这门课...
  • 浅谈对软件工程的认识与理解

    万次阅读 多人点赞 2016-03-11 16:47:32
     软件开发是一个把用户需要转化为软件需求,把软件需求转化为软件设计,用软件代码来实现软件设计,对软件代码进行测试,并签署确认它可以投入运行使用的过程。在这个过程中的每一阶段,都包含有相应的文档编制工作...
  • 谈谈我对软件开发项目管理的理解

    万次阅读 2017-02-17 02:48:59
    无奈,以个人的角度和眼光,鉴于工作中出现的一些问题,还是想在这里以“关二爷绣花”的立足点聊一聊软件开发项目管理相关的问题。   先简单地从个人经历说起吧。我工作过的第一家公司是一家在国内外牛逼哄哄的...
  • 什么是软件质量。在ISO9000中质量的定义是“质量促进组织所关注的以行为、态度、活动和过程为结果的文化。通过满足客户和相关方的需求和和期望实现其价值。组织的产品和服务的质量取决于满足客户的能力,以及...
  • 2019年互联网企业软件测试面试题(常考)

    万次阅读 多人点赞 2019-04-22 09:32:26
    很多软件测试工程师在面试互联网企业的时候都会遇到考官给的几道面试题,这也反应了测试工程师企业的重要性,今天传智播客整理了一份2019年的互联网企业软件测试面试题,希望能帮助到大家。 2019年互联网企业软件...
  • 谈谈对软件开发的理解

    千次阅读 2014-09-04 13:51:09
    大学毕业已有三年整,一直都是浑浑噩噩的,领导布置任务,然后就是自己去代码实现,今根据自己理解近来的总结如下,如有不好的 错误的,请大家指点。 关于软件开发,我分为以下三个本质的步骤: 1、从...
  • 1.什么是软件测试? 去检测开发出来的软件符不符合需求,符不符合预期结果 ...黑盒测试:理解为看不见内部结构,通常为检查其功能。 白盒测试:看的见内部结构,检测内部代码。 灰盒测试:结合黑盒和白盒测试两...
  • 软件测试的一些理解

    千次阅读 2016-07-17 17:33:49
    现在大部分软件企业的生态链都是,软件测试属于最下游。这也决定了很多情况都必须被动接受。即使某个测试工程师理论知识丰富,辨识风险能力强,但是一个产品需求的变更就可以让他傻眼,接着很努力去适应这种节奏。...
  • 获得一组基本需求说明后,就快速地使其“实现”,通过原型反馈,加深系统的理解满足用户基本要求,使用户在试用后需求说明进行补充和精确化,从而获得合理完整、现实可行的需求说明 再把快速原型思想用到软件...
  • 对软件需求分析的理解

    千次阅读 2014-03-26 15:26:35
    上一篇,是从理论层次上描述的需求分析,下面谈谈我需求分析的看法: 一、需求获取  需求获取是根据客户的特点,采用某种方式尽可能多地获取到业务的基本需求,这些需求是原生,未经过加工的,如有必要,用录音...
  • 软件测试面试常见问题:测试是什么,分为哪几个阶段, 测试工程师具备什么素质,黑盒白盒, app和web端测试的区别 ...
  • 要做好职业规划首先要想好我正在进行的培训的事情,软件测试,我也算是接触了一个月的时间,期间学写了linux系统,学习了oracle,学习了c语言,这说明软件测试不仅仅是理论的,也是需要了解it基础知识的,也就是说...
  • 软件测试的简单理解

    千次阅读 2018-05-04 13:48:20
    在规定的条件下程序进行操作,以发现程序错误,衡量软件质量,并其是否能满足设计要求进行评估的过程。2.测试的类别功能测试:编写测试用例,主要的就是测试步骤和预期结果,根据用例执行测试步骤,然后通过  ...
  • 对软件工程的一点理解

    千次阅读 2013-10-25 16:06:18
    从大学学编程以来,写代码几乎是...编码规范和架构设计有了些感觉, 因为需求总是在变, 如果只是拼凑功能,后面维护和添加功能变得很麻烦。 这也算是一种领悟吧。见到一些程序员还是以拼凑功能为中心写代码。
  • 无论你从事什么样的岗位,做什么样的事情,理解需求,懂得心里,是非常关键的。
  • 一、瀑布模型优点:简单易用,将复杂的软件开发过程明确分解为几个顺序的步骤,降低开发软件的复杂性。严格,第一是每个步骤的严格,每个步骤都有明确的标准和技术审查,尽量减少每个步骤的错误,同时减少下个阶段...
  • 对软件架构设计的一些总结和理解

    万次阅读 多人点赞 2015-09-06 22:28:18
    软件架构是指在一定的设计原则基础上,从不同角度组成系统的各部分进行搭配和安排,形成系统的多个结构而组成架构,它包括该系统的各个组件,组件的外部可见属性及组件之间的相互关系。组件的外部可见属性是指其他...
  • 未雨绸缪——理解软件配置管理(第2版) 也就是2012年的最新版..文字非扫描版,非常清晰,适合大家在手机上, Pad上面阅读. 对于需要考<项目管理师>中, 高级的朋友阅看.
  • 软件工程期末复习总结

    万次阅读 多人点赞 2016-07-03 15:22:39
    软件工程
  • 软件架构设计的几点理解

    千次阅读 2018-09-23 17:33:21
    1.软件架构的基本介绍 架构架构师:软件体系结构是构建计算机软件实践的基础。与建筑师设定建筑项目的设计原则和...一个软件架构师需要有广泛的软件理论知识和相应的经验来实施和管理软件产品的高级设计。软件架...
  • 关于嵌入式软件架构的一点理解

    万次阅读 2016-01-24 17:28:16
    本人学生,在参与企业开发的过程中了解到关于嵌入式软件框架设计问题,通过不断的深入学习,本人决定在乘着广州的雪意书写此文章。
  • 对软件工程的认识

    千次阅读 2018-11-28 17:28:41
    接下来简单说一下我通过两年多的学习和网上查阅的资料对软件工程的理解。  软件工程是研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确...
  • 今天接着昨天的内容,继续来了解uml的静态建模和动态建模,希望大家通过这两天的了解能加深uml建模的理解并在以后的项目开发中加以应用。 核心UML图分类: ---> “独孤九剑” 静态建模:[用例图]、[类图]、对象...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 983,343
精华内容 393,337
关键字:

对软件的理解