软件测试与软件质量保证的区别是什么?
QA的工作是软件生命周期的管理以及验证软件是否满足规定的质量和用户的需求。软件测试:测试虽然与开发过程紧密相关,但关心的不是过程的活动,而是对过程的产物以及开发出的软件进行剖析。对开发文档和源代码进行走查、运行软件,以找出问题,报告质量。对软件测试中发现的问题的分析、追溯和回归测试也是软件测试重要工作,因此软件测试是保证软件质量的一个重要环节。
简述详细设计阶段的主要任务是什么?
详细设计是将概要设计产生的功能模块进一步细化,形成可编程的程序模块,然后设计程序模块的内部细节,包括算法、数据结构以及各程序模块间的接口信息,并设计模块的单元测试计划。
简述项目管理五个阶段。
项目启动(立项):(2)项目策划(3)项目执行: (4)项目监控:(5)项目结束(结项):
4.需求变更控制中应该注意什么(1)必须做好需求变更影响分析 (2)再小的变更也要履行正式的变更流程(3)变更决策要慎重(4)必须做好变更的验证
5.什么是黑盒测试法?和白盒测试的区别是什么?
黑盒测试法把程序看成一个黑盒子,完全不考虑程序的内部结构和处理过程,它只检查程序功能是否能按照规格说明书的规定正常使用, 程序是否能适当地接收输入数据,产生正确地输出信息 。
测试方式不同
黑盒测试:功能测试,是通过测试来检测每个功能是否都能正常使用。而白盒测试:称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。
测试目的不同
白盒测试:通过检查软件内部的逻辑结构,对软件中的逻辑路径进行覆盖测试。在程序不同地方设立检查点,检查程序的状态,以确定实际运行状态与预期状态是否一致。
什么是软件测试?
软件测试(英语:Software Testing),描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程。换句话说,软件测试是一种实际输出与预期输出之间的审核或者比较过程。软件测试的经典定义是:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。
在ATM系统中的“取款”用流没有考虑到
1 银行卡无法识别 2 密码错误 3 输入金额不符合要求 4余额不足 5 取款机中现金不足
什么是架构的设计模式?常见的设计模式有哪些?
设计模式,就是解决相似问题的通用方法。常见的设计模式有:抽象工厂模式、适配器模式、桥接模式、外观模式等。
9.什么是软件架构?进行软件架构设计的主要目的是什么?
软件架构就是指软件系统的结构,或者软件的体系结构,包括软件元素、软件元素的外部特性以及这些元素之间的关系。
10.简述类和类之间的关系有哪些,并举例说明
依赖 客户与提供者的关系,提供者的变化会影响到客户,依赖是一个模糊的概念,
关联,指两个或者多个类对象之间在语义上的联系
泛化,是一种特殊的关系,又称继承关系
从软件用户对软件的实际需求来看,常见的需求有哪些种类?
功能性需求和非功能性需求
功能性需求分为 业务需求 用户需求 系统需求
非功能性需求分为 性能需求 质量需求 对外接口和约束
12.软件生命周期有哪些阶段?
1计划 2分析3设计4构建5测试周期6最后测试和实施7实施后。
13.需求获取的方式有哪些,请简要描述?
访谈技巧,访谈是需求获取的主要方式,通过当面交流和引导,获取有效信息;现场考察,是最直接最有效的需求获取方式,深入现场,挖掘潜在需求;资料查阅 是指获取业务相关的资料文献,通过阅读资料挖掘相关的需求点;问卷调查 适用于大范围的目标人员调查,可以收集到用户对软件的意见和建议,根据收集到的信息进行统计分析,有助于软件需求的挖掘;市场调研/竞品分析 有助于扩展需求、升级需求,
请举例描述一种你熟悉的面向对象设计原则?
1、开闭原则(OCP)(1)开闭原则是面向对象程序设计的第一原则。当一个软件需要增加或者修改某些功能时应该尽可能的只是在原来的实体中增加代码,而不是修改代码。(2)优点:保证了系统具有一定的稳定性,同时也保证了系统的灵活性
15.请举例描述一种你熟悉的设计模式?
.抽象工厂模式,是提供一个创建一系列相关或者相互依 赖的接口,而无需指定它们具体的类。
16.常用的软件测试方法?
1)白盒测试:又称为结构测试或逻辑驱动测试,是一种按照程序内部逻辑结构和编码结构,设计测试数据并完成测试的一种测试方法。(2)黑盒测试:又称为数据驱动测试,把测试对象当做看不见的黑盒,在完全不考虑程序内部结构和处理过程的情况下,测试者仅依据程序功能的需求规范考虑,确定测试用例和推断测试结果的正确性,它是站在使用软件或程序的角度,从输入数据与输出数据的对应关系出发进行的测试。(3)灰盒测试:是一种综合测试法,它将“黑盒”测试与“白盒”测试结合在一起,是基于程序运行时的外部表现又结合内部逻辑结构来设计用例,。
白盒测试、黑盒测试、静态测试、动态测试、集成测试
请描述什么是单元测试,其作用是什么?
是软件工程中降低开发成本,提高软件质量常用方式之一,单元测试是一项由开发人员或者测试人员来对程序模块的正确性进行检验测试的工作,用于检查被测试代码的功能是否正确,
- 降低开发成本
- 边界检测提高代码质量
- 提高开发人员职业素养
18.什么是测试驱动开发?
是一种不同于传统软件开发流程的新型的开发方法。它要求在编写某个功能的代码之前先编写测试代码,然后只编写使测试通过的功能代码,通过测试来推动整个开发的进行。这有助于编写简洁可用和高质量的代码,并加速开发过程。
19.什么是敏捷开发?
是区别于传统的软件工程开发过程的开发模式,它以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发
20.什么是结对编程?
是一种敏捷软件开发的方法,两个程序员在一个计算机上共同工作。一个人输入代码,而另一个人审查他输入的每一行代码。输入代码的人称作驾驶员,审查代码的人称作观察员(或导航员)
21.什么是软件危机?你觉得如何避免软件危机?
在计算机软件的开发和维护过程中所遇到的一系列严重问题
1.首先应该对计算机软件有一个正确的认识.2.充分认识到软件开发应该是各类人员协同配合,共同完成的工程项目.3.推广使用在实践中总结出来的开发软件的成功技术和方法,并且研究探索更好的技术和方法4.应开发和使用更好的软件工具.
22.请解释什么是用例模型,用例图有哪些元素,用例描述需要描述哪些内容?
用例模型是系统既定功能及系统环境的模型,它可以作为客户和开发人员之间的契约。
元素:参与者,用例,子系统
用例描述一般包括:简要描述(说明)、前置(前提)条件、基本事件流、其他事件流、异常事件流、后置(事后)条件等等。
A公司是一家大型连锁超市,小王的行为违背了哪些软件从业人员的职业道德。A公司该采取什么措施保证软件的正常验收,根据什么来确定软件是否通过验收
违背:不参与欺骗性的财务行为,如行贿、重复收费或其他不正当财务行为 所有技术性判断服从支持和维护人价值的需要 在保持与公众利益一致的原则下,软件工程师应注意满足客户与雇主的最高利益。 确保对其从事的软件和文档资料有合适的测试、拍错和评审
为什么建议使用set方法和get方法进行属性设置和读取?
目的在于降低类之间的耦合度
在OOA和OOD阶段都需要设计类图,请说明两个阶段对设计类图的主要区别。
在需求分析阶段 , 类图是研究领域的概念 ; 在设计阶段 , 类图重点描述类与类之间的接口 。 由于分析类图主要 描述应用领域中的概念,它们的类可以从这些概念中得出。 设计类图 描述软件的接口部分 , 而不是软件的实现部分。面向对象开发方法非常重视区别接口与实现之间的差异 , 设计 类图通常是在 分析类图的基础上进行细化和改进的。
对大型软件项目都采用划分小组的形式进行。你认为应如何划分小组形式和进行管理?
在职能型组织机构中,各级领导不直接指挥下级,而是指挥职能部门。各职能部门可以在上级领导的授权范围内,就其所辖业务范围向下级执行者发布命令和指示;强调管理业务的专门化,注意发挥各类专家在项目管理中的作用;易于提高工作质量,同时可以减轻领导者的负担。
网络教学系统中包含的角色和用例。一学生登录系统后,可以浏览和查找课程信息分析该系统有哪些实体类
1 用户(用户id,用户名,密码,用户权限), 或 学生,教师,管理员实体
2 课程(编号,名称)3 课程信息(课程编号,教师id,公告,课件,课程其他文件
某公司的销售部与银行签订了一个银行前置机的软件系统项目,五个月内该系统进入试运行。在合同签订后销售部将此合同移交给了软件部,进行项目的实施。项目经理小王经历了5年的系统分析(1)分析项目出现问题的可能原因。
(2)小王的行为违反了哪些软件行业的职业规范。
(3)建议小王应该如何做,以保证项目整体进度不拖延。
1.项目部没有及时让软件部参与项目早期工作,需求分析耗时过长,项目经理经验不足, 项目资源分配不足,工作安排没有充分利用分配的项目资源, 在安排进度时,可能未考虑节假日的因素
(2)违反了:
1 公众软件工程师应当一公众利益为目标 2 客户和雇主 再保持与公众利益一致的原则下,软件工程师应该注意满足客户和雇主的最高利益 3产品 软件工程师应当确保他们的产品和相关的改进符合最高的专业标准 4 判断 软件工程师应当维护他们职业判断的完整性和独立性
向职能经理申请增加特定资源,特别是要增加系统分析设计人员。1临时加班,赶工,尽可能补救耽误的时间,或提高资源的利用效率,2加强沟通,争取客户能够对项目范围,3 加强对阶段工作的检查和控制,避免后期出现返工
某图书馆管理系统的需求分析有如下功能:(1)读者可以借阅图书(2)读者可以归还图书
由需求分析可以得出,系统的参与者有4个,分别是:读者、馆员、系统维护人员和外部系统。
一个系统的用户向他所认识的一个项目开发人员抱怨系统软件中的一项功能问题,并且表示希望能够进行修改请说明上述1情况中存在着哪些问题?2请说明上述情况可能会导致什么样的后果
l存在的主要问题有:1)对用户的要求未进行记录(2)对变更请求未进行足够的分析,也没有获得批准;3)在修改过程中没有注意进行版本管理(4)修改完成后未进行验证5)修改的内容未和项目干系人进行沟通。2.没有做好版本管理,导致配置错误后不可逆转(2).相关干系人不知道变更结果3.变更完成后可能会出现另外的问题4.没有做好变更记录,后期难以追溯5.变更后没有及时更新项目计划,
某高校计划建设校园一卡通项目,选择了具有自主一卡通产品的A公司作为系统集成商。项目的主要内容是对学校的3个学生食堂、问题1 项目组对变更产生的原因,理的哪些方面造成影响?问题2 项目的CCB(变更控制委员会)组成应包括哪些人员,该项目产品基线中哪些项目会发生变化?问题3 批准后小李应该安排哪些工作?在这次变更过程中监理方应参与哪些工作环节?
1项目范围,进度造成影响,项目需求说明书
2ccb应该有项目经理,a公司领导,校方领导,需求规格说明书配置项标识 配置审计 配置范围 配置状态报告
3变更批准后,执行变更,对变更的影响进行分析,对变更进行必要测试
监理方应参与现场测试 验收环节
请描述一种你熟悉的项目管理工具的使用过程
鱼骨图 用来找出问题的潜在原因。主要用途:决定采集什么数据—采集数据—整理及演示数据—认别原因
请介绍一种你熟悉的应用UI(原型)设计软件或网站的特点
Axure优点:自带组件库并支持第三方组件库,提供强大的交互支持,有完整的教程及支持文档,支持原型预览。缺点:效率不高;只能免费试用30天,而且性价比不高,专业需求度高。
请你设计一款背单词软件,请尽可能多的罗列该软件可能的需求有哪些
英语资讯。平台会定时向用户推送了解更多英语学习的技巧。2、记忆检测。了解用户的记忆功能强弱,用户可以在线答题,3、记忆方案。,平台可以根据测试结果为用户定制一套单独的记忆方案,
罗列你使用过的计算机辅助软件工程(CASE)工具,并用一句话总结其功能。
visio:这是目前国内用得最多的case工具。它提供了日常使用中的绝大多数框图的绘画功能,同时提供了部分信息领域的实物图