功能测试

程序架构_2

坚强是说给别人听的谎言 提交于 2020-01-25 05:37:27
架构设计 软件架构是指在一定的设计原则基础上,从不同角度对组成系统的各部分进行搭配和安排,形成系统的多个结构而组成架构,它包括该系统的各个组件,组件的外部可见属性及组件之间的相互关系。组件的外部可见属性是指其他组件对该组件所做的假设。 一、架构设计过程 业界软件架构设计的方法论很多,各有各自的应用场景和特点,下文结合ADMEMS(Architecture Design Method has been Extended to Method System)架构设计方法论说明软件架构的过程: 预架构阶段 目标:全面理解需求;需求结构化,摒弃“需求列表”,建立二维需求观(ADMEMS矩阵)。 方法:使用ADMEMS矩阵方法,捋清需求间关系和发现衍生需求。 具体步骤: 1、与人:与项目经理、需求分析师等内部需求人员了解需求;与客户了解需求(不建议架构师做需求分析师角色)。 2、与物:了解《需求规格说明书》等需求文档。" 3、对需求有什么问题,反馈给售前或销售,可能会参与拜访客户或电话会议。 4、销售或售前有时会要求提供一个大致的工作量,以便他们初步评估项目可行性。 概念架构 目标:高层组件及其关系 方法: 1、初步设计,基于关键功能,借助鲁棒图进行以发现职责为目的的初步设计(不是必须)。 2、高层分割,将复杂系统切分为多个二级系统或多个子系统。 3、考虑非功能需求,采用ADMEMS推荐的目标

手机应用软件的系统测试【乐搏TestPRO】

为君一笑 提交于 2020-01-24 20:58:44
一、对于产品的手机项目(应用软件),主要是进行系统测试。而针对手机应用软件的系统测试,我们通常从如下几个角度开展:功能模块测试,交叉事件测试,压力测试,容量测试,兼容性测试,易用性/用户体验测试等。 1、功能模块测试 :首先应分析功能模块的功能项,测试每个功能项是否能够实现对应的功能。一般根据测试用例(Test Case)或软件本身的流程就可以完成基本功能测试(相对简单,故障也较容易发现、解决)。 2、交叉事件测试 :又叫事件或冲突测试,是指一个功能正在执行过程中,同时另外一个事件或操作对该过程进行干扰的测试。例如通话过程中接收到短信或闹铃触发,应用软件运行过程中插拔充电器等。执行干扰的冲突事件不能导致应用软件异常、手机死机或花屏等严重问题。另外,还需要注意各交叉事件的优先级别,检验系统是否能依据各事件的优先级别依次进行处理。不能因执行优先级别高的事件而导致优先级较低的事件吊死。 3、交叉事件测试非常重要 ,一般能发现应用软件中一些潜在的问题。另外有中英文模式切换的手机要注意中英文模式切换后的功能实现存在的问题(这个主要针对手机应用软件支持语言自适应功能),这一点通常会被测试人员忽略。 4、压力测试 :又叫边界值容错测试或极限负载测试。即测试过程中,已经达到某一软件功能的最大容量、边界值或最大的承载极限,仍然对其进行相关操作。例如连续进行短信的接收和发送

灰盒测试

那年仲夏 提交于 2020-01-24 11:48:46
灰盒测试 灰盒测试,是介于 白盒测试 与 黑盒测试 之间的一种测试,灰盒测试多用于 集成测试 阶段,不仅关注输出、输入的正确性,同时也关注程序内部的情况。灰盒测试不像白盒那样详细、完整,但又比黑盒测试更关注程序的内部逻辑,常常是通过一些表征性的现象、事件、标志来判断内部的运行状态。 定义 灰盒 测试由方法和工具组成,这些方法和工具取材于应用程序的内部知识和与之交互的环境,能够用于 黑盒测试 以增强测试效率、错误发现和错误分析的效率。 学术含义 灰盒 (Gray Box)是一种程序或系统上的工作过程被局部认知的装置。灰盒 测试,也称作灰盒分析,是基于对程序内部细节有限认知上的 软件调试 方法。测试者可能知道 系统组件 之间是如何互相作用的,但缺乏对内部程序功能和运作的详细了解。对于内部过程,灰盒测试把程序看作一个必须从外面进行分析的 黑盒 。 灰盒 测试通常与web服务应用一起使用,因为尽管应用程序复杂多变,并不断发展进步, 因特网 仍可以提供相对稳定的接口。由于不需要测试者接触 源代码 ,因此灰盒测试不存在侵略性和偏见。开发者和测试者间有明显的区别,人事冲突的风险减到最小。然而,灰盒测试相对 白盒测试 更加难以发现并解决潜在问题,尤其在一个单一的应用中,白盒测试的内部细节可以完全掌握。 灰盒测试结合了白盒测试和 黑盒测试 的要素。它考虑了用户端、特定的系统知识和操作环境。它在

微软小娜APP的案例分析

ぐ巨炮叔叔 提交于 2020-01-24 08:52:57
个人博客作业三:微软小娜 APP 的案例分析 我们生活中很多时候要和软件打交道,大家上课开小差时候玩的手机游戏,买火车票的网站,互相联系用的微信、 QQ ,等等都是软件,都很值得分析。你为何成为它们的用户?它们的团队做对了什么,做错了什么?如果你来做,会做得更好么? 通过各种案例分析,评测,辩论,总结,我们就能看到软件工程的原则在实践中的种种体现,学好软件工程,帮助我们在实践中做得更好。 产品 请下载 微软小娜 - 智能助手 , win10 , iOS 或 Android 客户端都有! 第一部分 调研, 评测 ( 软件的 bug ,功能评测,黑箱测试, 第 8 章 用户调研, 12 章 软件的用户体验) 下载并使用,描述最简单直观的个人第一次上手体验。 处于新鲜感与好奇心,我下载了微软小娜智能助手。在打开时,她会获取用户大多信息,包括一些隐私性的信息。所以在信息安全与维护方面的构建至关重要,让用户能够安心的使用。操作界面简约,在布局方面可以设计多个主题供选择。在菜单栏中有多种功能,是较为普遍,广泛应用的。       图1-1 按照《构建之法》 13.1 节描述的 bug 定义 , 找出几个功能性的比较严重的 bug ,至少 2 个。 (1) 在语言的识别上有时会出现错误(即人机交互上的问题) . (2) 在信息的查询上又是会答非所问。 (3) 当然,其模拟的人工智能,还是较生动的

软件测试的类型:具有详细信息的不同测试类型

我的未来我决定 提交于 2020-01-24 00:58:39
#1)Alpha测试 它是软件行业中最常用的测试类型。该测试的目的是在将其发布到市场或用户之前,确定所有可能的问题或缺陷。 Alpha测试在软件开发阶段的最后但Beta测试之前进行。尽管如此,作为此类测试的结果,可能会进行较小的设计更改。 Alpha测试是在开发人员的网站上进行的。可以为这种类型的测试创建内部虚拟用户环境。 #2)验收测试 的验收测试是由客户端和验证结束系统的流量到底是否是按照业务需求或不执行,如果是按照最终用户的需求。仅当所有功能部件均按预期工作时,客户端才接受该软件。 这是测试的最后阶段,此后该软件将投入生产。这也称为用户验收测试(UAT)。 #3)临时测试 名称本身表明该测试是在临时基础上执行的,即不参考测试用例,也没有针对此类测试的任何计划或文档。 该测试的目的是通过执行应用程序的任何流程或任何随机功能来发现缺陷并破坏应用程序。 临时测试是一种发现缺陷的非正式方法,项目中的任何人都可以执行。没有测试用例就很难识别缺陷,但是有时可能无法使用现有的测试用例来识别临时测试期间发现的缺陷。 #4)辅助功能测试 可访问性测试的目的是确定残疾人是否可以访问该软件或应用程序。 在这里,残疾是指聋哑,色盲,智障,盲人,老年和其他残疾群体。进行各种检查,例如用于视觉障碍的字体大小,用于色盲的颜色和对比度等。 #5)Beta测试 Beta测试是由客户执行的正式类型的软件测试

敏捷开发绩效管理之四:为团队设立外部绩效目标(目标管理,外向型绩效)

孤街醉人 提交于 2020-01-22 22:06:47
这是敏捷开发绩效管理的第四篇。( 之一 , 之二 , 之三 , 之四 , 之五 , 之六 , 之七 ) 最近在看德鲁克的书,发现其中很明确地写着“企业的绩效只存在于外部,而企业内部只有成本”的概念和说法,下面结合敏捷开发团队的绩效考核展开谈谈。 敏捷开发有很多“外向型”思维,比如:关注客户价值,认为可交付的产品才是真正能表征工作进展的因素等等,但尚未直接与目标管理接轨。外向性思维可以防止部门间壁垒或踢皮球,而转而共同讨论对外交付价值,从下面的对比可以看出这点。 “内向型”绩效及其导向 进度:“各阶段按时完成率”会导致分析和设计人员草草结束工作,而将大量不确定工作推给开发人员;开发人员则如法炮制,把延期踢给测试人员。 质量:“千行代码缺陷率”会导致开发人员在很多“是否是缺陷”问题上与测试人员争执不下,另外一些次要的如使用不便、不直观等问题则被长期搁置。 成本:“与计划相比的人员超支率”会导致项目经理很不愿意接受变更,即使是那些显然能给客户带来巨大价值的。 功能:“需求规格中需求的完成比例”会导致开发组思维局限于当年编写需求规格时期的认识,而不能在整个漫长的开发过程中不断精化需求。 此外还有一些更可怕的数据,比如“每月生产的代码行数”“每月生产的功能点或故事点数”(这个很有迷惑性)“每月修改的缺陷数”等,都是不恰当的绩效。德鲁克“企业内部只有成本”的理念指出,无论是文档,代码

自动化测试入门

帅比萌擦擦* 提交于 2020-01-22 10:42:19
1 初识自动化测试 如果以前没有做过自动化测试,那么就不了解自动化测试,可能会觉得自动化测试比较神秘,但是,我们在日常的计算机操作中,可能会碰到一些自动化处理的过程,这些过程和自动化测试比较接近。 例如, Windows操作系统的控制面板中,有一项功能: 任务计划向导 。 DOS批处理文件,直到今天的Windows Vista还在使用它。它更接近自动化测试。 上述的自动化处理过程还不是测试,因为 测试的重要一点是须要验证 ,将实际执行的结果和用户期望的结果进行比较。没有这个比较,就不是自动化测试。 2 自动化测试和手工测试有什么不同 亲手做过自动化测试之后,我们对自动化测试就有了一个感性的认识,至少有下列几点感觉:   l 机器人从来就不会感觉累   l 自动化测试的速度,是手工测试无法比的   l 测试结果准确。例如搜索用时即使是0.33秒或0.24秒,系统都会发现问题,不会忽视任何差异。   l 一旦脚本完成,可以一劳永逸地运行很多遍,重复使用。 从这里就可以初步体会到自动化测试的优越性―― 高效率、准确可靠 和 复用性 。同时,自动化测试也有不利的一面,即在 创造性、发现新缺陷 等方面能力不足。 有资料显示,即使自动化测试实施良好,也只能发现软件系统中30%的问题,而70%的问题还要靠手工测试发现。所以 自动化测试更适合于负载测试、性能测试和回归测试 。 概括起来

几款具有代表性的自动化测试工具汇总简介

北城余情 提交于 2020-01-22 01:42:46
几款具有代表性的自动化测试工具汇总简介 一、传统自动化测试工具/商业工具(传统工具较多仅介绍两款,基本都是国外的) 1、QTP,全名HP QuickTest Professional software ,最新的版本为HP QuickTest Professional 11.0QTP是quicktest Professional的简称,是一种自动测试工具。使用QTP的目的是想用它来执行重复的手动测试,主要是用于回归测试和测试同一软件的新版本。 因此你在测试前要考虑好如何对应用程序进行测试,例如要测试那些功能、操作步骤、输入数据和期望的输出数据等QuickTest针对的是GUI应用程序,包括传统的Windows应用程序,以及现在越来越流行的Web应用。它可以覆盖绝大多数的软件开发技术,简单高效,并具备测试用例可重用的特点。 其中包括:创建测试、插入检查点、检验数据、增强测试、运行测试、分析结果和维护测试等方面。 2、IBM Rational Functional Tester(简称RFT)是一款先进的、自动化的功能和回归测试工具,它适用于测试人员和GUI开发人员。使用它,测试新手可以简化复杂的测试任务,很快上手;测试专家能够通过选择工业标准化的脚本语言,实现各种高级定制功能。 通过IBM的最新专利技术,例如基于Wizard的智能数据驱动的软件测试技术

为web功能测试而生的工具

耗尽温柔 提交于 2020-01-22 01:42:39
简介 selenium录制器是最近刚流行起来的一个WEB自动化测试工具,由多测测团队开发。 Selenium录制器采用关键字驱动的理念以简化测试用例的创建和维护,它让用户可以直接录制屏幕上的操作流程,自动生成功能测试或者回归测试用例。 专业的测试者也可以通过提供的内置脚本和调试环境来取得对测试和对象属性的完全控制。 适用于Web、PC软件系统的功能测试、回归测试及客户测试。 自动化脚本录制、一键回放、报告查看,轻而易举实现自动化测试流程,自有编辑器一站式解决目前支持的浏览器包括IE(8、9、10、11),支持Chrome及Firefox版本已经在开发中。 该工具支持不同级别的测试技能。 非程序员可以轻松地启动自动化测试项目,而程序员和高级自动化测试人员可以节省构建新库和维护脚本的时间。 工具的主要功能: 录制功能——创建回归测试检验软件功能和用户需求,支持IE系列浏览器所有HTML元素的快速录制、回放 对象属性参数化——通过工具提供的识别设置和数据输入,能随意改变对象的属性和数据。 测试报告功能——完成回归测试后,生成全面质量报告测试的结果。 原因诊断功能——出现查找错误地方,可以主动分析定位错误位置,可以通过调整查找策略(xpath、全路 径、属性集)准确查找到对象。 selenium+python脚本——专业的测试人员也可以通过工具提供的基于selenium框架来编写脚本。

登录功能测试总结

对着背影说爱祢 提交于 2020-01-21 22:39:43
简单总结下登录功能的测试点,网上也有很多帖子可以参考,在此做个记录,方便以后查阅和使用: 一、基本功能测试: 输入正确的用户名和密码登录成功 输入错误的用户名密码登录失败 用户名正确,密码错误,是否提示输入密码错误? 用户名错误,密码正常,是否提示输入用户名错误? 用户名和密码都错误,是否有相应提示? 用户名密码为空时,是否有相应提示? 如果用户未注册,提示请先注册,然后进行登录 已经注销的用户登录失败,提示信息友好? 密码框是否加密显示? 用户名是否支持中文、特殊字符? 用户名是否有长度限制? 密码是否支持中文,特殊字符? 密码是否有长度限制? 密码是否区分大小写? 密码为一些简单常用字符串时,是否提示修改?如:123456 密码存储方式?是否加密? 登录功能是否需要输入验证码? 验证码有效时间? 验证码输入错误,登录失败,提示信息是否友好? 输入过期的验证能否登录成功? 验证码是否容易识别? 验证码换一张功能是否可用?点击验证码图片是否可以更换验证码? 用户体系:比如系统分普通用户、高级用户,不同用户登录系统后可的权限不同。 如果使用第三方账号(QQ,微博账号)登录,那么第三方账号与本系统的账号体系对应关系如何保存?首次登录需要极权等 二、页面测试: 登录页面显示是否正常?文字和图片能否正常显示,相应的提示信息是否正确,按钮的设置和排列是否正常,页面是否简洁壮观等。