软件

如何设计编写和设计软件测试用例?

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

亲历者说:Kubernetes API 与 Operator,不为人知的开发者战争

你离开我真会死。 提交于 2020-04-06 22:03:32
原创作者:张磊、邓洪超 如果我问你,如何把一个 etcd 集群部署在 Google Cloud 或者阿里云上,你一定会不假思索的给出答案:当然是用 etcd Operator! 实际上,几乎在一夜之间,Kubernetes Operator 这个新生事物,就成了开发和部署分布式应用的一项事实标准。时至今日,无论是 etcd、TiDB、Redis,还是 Kafka、RocketMQ、Spark、TensorFlow,几乎每一个你能叫上名字来的分布式项目,都由官方维护着各自的 Kubernetes Operator。而 Operator 官方库里,也一直维护着一个知名分布式项目的 Operator 汇总。 https://github.com/operator-framework/awesome-operators 短短一年多时间,这个列表的长度已经增长了几十倍。 而且更有意思的是,如果你仔细翻阅这个 Operator 列表,你就不难发现这样一个有趣的事实:现今 Kubernetes Operator 的意义,恐怕已经远远超过了“分布式应用部署”的这个原始的范畴,而已然成为了容器化时代应用开发与发布的一个全新途径。所以,你才会在这个列表里看到,Android SDK 的开发者们,正在使用 Operator “一键”生成和更新 Android 开发环境;而 Linux 系统工程师们

yii_1_1_17_7(session/redirect/createUrl-2016-2-10)

十年热恋 提交于 2020-04-06 21:57:45
1.登录信息调取 Yii::APP()->user->name,调取登录得session信息 后台需要在modules->views里面的模块Module.php的init方法中 Yii::app()->setComponents(array( 'user' => array('stateKeyPrefix' => 'admin'), ) ); 2.退出 public function actionOut(){ Yii::app()->user->logout(); } 3.redirect跳转方法使用 当前控制器: $this->redirect(array('index'));//跳转到当前控制器的index方法 访问其它控制器: $this->redirect(array('控制器/方法')); 4.createUrl跳转地址 在视图中用: <?php echo $this->createUrl('控制器、方法',get参数); ?> 例子: <?php echo $this->createUrl('article/index',array('aid'=>3)); ?> 5.SESSION session加时间: Yii::app()->session['logintime'] = time(); 清除: Yii::app()->session->clear(); Yii:

八大数据分析模型之——自定义留存分析模型(五)

早过忘川 提交于 2020-04-06 20:17:20
诸葛君说:在流量越来越贵背景下,留住老用户显得愈发重要,对于用户而言,留存率越高,说明产品对用户的核心需求把握的越好,用户对产品产生强烈的依赖。对于产品而言,留存率越高,说明产品的活跃用户越多,转化为忠实用户的比例会越大,越有利于产品变现能力的提升。 一、留存定义和公式 定义:满足某个条件的用户,在某个时间点有没有进行回访行为 公式:若满足某个条件的用户数为n,在某个时间点进行回访行为的用户数为m,那么该时间点的留存率就是m/n 以我们常用的指标举个例子:“新增用户日留存”,就是某天新来的用户,第二天打开app或网站的比例,第三天打开app或网站的比例,第七天打开app或网站的比例,第N天打开app或网站的比例。 图1:新增用户留存 这一指标就是N-day留存,即第几日留存,这里的“日”可以是“周”,也可以是“月”,大家现在普遍认识的用户留存,一般都是“N-day”留存了。 除了N-day留存,业内常见的留存分析方式还有“Unbounded留存”、“Bracket留存”,这3类留存的区别就在于时间条件的差异,具体关注哪种留存,需要根据业务来定。 -Unbounded留存(N天内留存) Unbounded留存就是我们常说第N日内留存,N-day留存是只计算第N天完成回访行为的用户,Unbounded留存会累计计算N天内所有完成过回访行为的用户。 -Bracket留存

2020软件工程作业04

点点圈 提交于 2020-04-06 19:47:29
2020软件工程作业04 软件工程 https://edu.cnblogs.com/campus/zswxy/software-engineering-2017-1 作业要求 https://edu.cnblogs.com/campus/zswxy/software-engineering-2017-1/homework/10574 作业目标 结对编程、原型模型设计工具使用 作业正文 下文 其他参考文献 https://jingyan.baidu.com/article/72ee561af47ef6a16138df91.html https://www.baidu.com/ 一.结对成员 姚东明 20177597 莫正昌 20177624 二.原型开发工具 墨刀 三.NABCD模型 N(Need)需求 (1)老师:想与以前的学生联系了解他们的现状、想了解现在学生们遇到的学习上的困难、想通过以前的学生为即将毕业的学生找个好工作。 (2)已毕业学长:想和以前的老师畅谈自己这些年工作中的想法、想通过老师给学弟学妹们提供工作招聘的内推机会、想了解现在学弟学妹们的现状。 (3)在读学生: 想找同门师兄师姐问一问与没有好的工作推荐、和工作经验。 (4)萌新学生:想选择毕设导师时,可以了解导师的个人主页介绍、和老师邮件沟通、和老师现在带的或之前带的已经毕业的学姐学长交流一下

[转] 吞吐量(TPS)、QPS、并发数、响应时间(RT)概念

萝らか妹 提交于 2020-04-06 19:45:24
QPS 原理:每天80%的访问集中在20%的时间里,这20%时间叫做峰值时间。 公式:( 总PV数 * 80% ) / ( 每天秒数 * 20% ) = 峰值时间每秒请求数(QPS) 。 机器:峰值时间每秒QPS / 单台机器的QPS = 需要的机器 。 每天300w PV 的在单台机器上,这台机器需要多少QPS? ( 3000000 * 0.8 ) / (86400 * 0.2 ) = 139 (QPS)。 一般需要达到139QPS,因为是峰值。 QPS 每秒查询率QPS是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。 每秒查询率 因特网上,经常用每秒查询率来衡量域名系统服务器的机器的性能,其即为QPS。 对应fetches/sec,即每秒的响应请求数,也即是最大吞吐能力。 计算机语言 一种计算机编程语言。用于数据分析和报表产出。运作的平台是MRDCL。支持的数据文件包括ASC格式和CSI格式。 其中CSI格式为QPS独有数据格式。是极其专业的用于数据分析、数据清理和报表产出的语言,目前应用最广的是市场调研行业。中国国内运用的相对比较少。 开发的原因,需要对吞吐量(TPS)、QPS、并发数、响应时间(RT)几个概念做下了解,查自百度百科,记录如下: 1. 响应时间(RT)   响应时间是指系统对请求作出响应的时间。直观上看

IE浏览器通过ActiveX方式获取客户端IP地址

微笑、不失礼 提交于 2020-04-06 19:45:09
描述: 最近遇到一个需求,要进行日志记录,其中包含了IE浏览器客户端IP地址的记录。在尝试了从request中获取IP地址后,在没有出现代理IP的情况下,可以正常获取。即:局域网下,可以收集客户端IP成功。但一旦出现代理IP的情况,就获取不到我们正确的IP地址了。 分析: 方式一:从request中取IP。若客户端是直接IP进行访问,此时获取IP地址成功;一旦客户端的网络是通过代理IP进行访问的情况下,此时从request中会获取多个IP地址,尝试了几种方法均未能获取到正确的IP。或许有其他的方法,暂未发现。【优点:无须安装或设置IE浏览器的ActiveX控件,缺点:并不是一直适用】 方式二:ActiveX方式取IP。因为ActiveX控件是安装在IE浏览器,也就是客户端机器上的,此时获取的客户端机器上的IP地址是没有问题的。【优点:获取为真实IP,缺点:需要进行浏览器设置】 解决方式: 此时,还是采用了ActiveX控件的方式来获取客户端IP地址: 代码Demo如下: <html> <head> <title></title> </head> <body> <object classid="CLSID:76A64158-CB41-11D1-8B02-00600806D9B6" id="locator" style="display:none;visibility:hidden">

搭建websocket消息推送服务,必须要考虑的几个问题

断了今生、忘了曾经 提交于 2020-04-06 19:22:04
近年,不论是正在快速增长的直播,远程教育以及IM聊天场景,还是在常规企业级系统中用到的系统提醒,对websocket的需求越来越大,对websocket的要求也越来越高。从早期对websocket的应用仅限于少部分功能和IM等特殊场景,逐步发展为追求支持高并发,百万、千万级每秒通讯的高可用websocket服务。 面对各种新场景对websocket功能和性能越来越高的需求,不同的团队有不同的选择,有的直接使用由专业团队开发的成熟稳定的第三方websocket服务,有些则选择自建websocket服务。 作为一个具有多年websocket开发经验的老程序猿,经历了GoEasy企业级websocket服务从无到有,从小到大的过程,此文是根据过去几年在GoEasy开发过程中踩过的坑,以及为众多开发团队提供websocket服务、与众多开发者交流中的总结的一些经验和体会。 这次主要从搭建websocket服务的基本功能和特性方面做一些分享,下次有机会再从构建一个高可用websocket时要面对的高并发,海量消息,集群容灾,横向扩展,以及自动化运维等方面进更多的分享。 以下几点是个人认为在构建websocket服务时必须要考虑的一些技术特性以及能显著提高用户体验的功能,供各位同学参考: 1.建立心跳机制 心跳机制几乎是所有网络编程的第一步,经常容易被新手忽略。因为在websocket长连接中

Google Chrome for mac(谷歌浏览器) v83.0.4093.3开发版

╄→гoц情女王★ 提交于 2020-04-06 19:20:46
谷歌浏览器 mac版 将简约的界面设计与先进的技术相融合,让网络浏览变得更快速安全而且简便。谷歌浏览器官方版是一款可让您更快速、轻松且安全地使用网络的浏览器,它的设计超级简洁,使用起来更加方便。喜欢的朋友们千万不要错过哦! gle Chrome软件特色 畅享全方位的快速体验 用户每次上网,一般都有一定的目的。无论这目的是大是小,是工作还是娱乐,Chrome 所具备的智能工具和非凡速度都能让您在网络世界得心应手地操作、创作和探索。 利用 Google 智能工具,高效处理各种事务 Chrome 具备让您充分利用网络所需的一切功能,例如在您的地址栏中快速显示答案、提供一键式翻译、在您的手机上为您量身推荐文章。 有 Chrome 安保措施保驾护航,网上冲浪再不必畏手畏脚 对网络上的安全隐患一无所知?没关系。Chrome 会自动为您提供安全保护,使您免遭网上诱骗网站和危险网站等安全问题的侵害。 随时随地,无所不能 Chrome 可在任何操作系统中和任何设备上运行。您可在笔记本电脑和手机之间来回切换、按照自己喜欢的方式自定义 Chrome 以及继续享用更多功能。 谷歌浏览器官方版功能介绍 快速 Chrome 浏览器追求的是全方位的快速体验。它不仅能飞快地从桌面上启动,而且能瞬间完成网页加载,还能以闪电般的速度运行网络应用。 简单 Chrome 浏览器整洁且直观。您可在同一位置进行搜索和导航