测试过程

ProxySQL--灵活强大的MySQL代理层

你。 提交于 2019-12-06 14:40:19
本文是我在学习和验证ProxySQL的过程中,从初识(对其机制猜想或凭几次命令的结果臆断其原理),到逐渐深入(模拟各种场景测试、抓包分析、与作者交流)过程中的 思路 和 方法 和 结论 的记录。 笔者初识proxysql的时候是1.2.1版本,现在几经演进,已经到了1.4.1版本,本文也几经修改,力求跟得上软件的最新进度。 ProxySQL项目网址 一、亮点 几乎所有的配置均可在线更改(其配置数据基于SQLite存储),无需重启proxysql 基于正则和client_addr的强大和灵活的路由规则 详细的状态统计,统计结果和pt-query-digest对慢日志的分析结果类似,相当于有了统一的查看sql性能和sql语句统计的入口(Designed by a DBA for DBAs) 自动重连和重新执行机制(auto-reconnect and automatic re-execution of queries using it's Connections Pool ):若一个请求在链接或执行过程中意外中断,proxysql会根据其内部机制重新执行该操作 query cache功能:比mysql自带QC更灵活,可在 mysql_query_rules 表中依据 digest , match_pattern , client_addr 等维度控制哪类语句可以缓存 支持连接池

软件工程的几个步骤

青春壹個敷衍的年華 提交于 2019-12-06 12:29:37
软件工程的几个步骤[转载] 2008年01月08日 星期二 15:36 软件工程一直以来都缺乏一个统一的定义,很多学者、组织机构都分别给出了自己的定义: Boehm:运用现代科学技术知识来设计并构造计算机程序及为开发、运行和维护这些程序所必需的相关文件资料。 IEEE:软件工程是开发、运行、维护和修复软件的系统方法。 Fritz Bauer:建立并使用完善的工程化原则,以较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法。 软件工程学的内容 软件工程学的主要内容是软件开发技术和软件工程管理. 软件开发技术包含软件工程方法学、 软件工具 和 软件开发环境 ;软件工程管理学包含软件工程经济学和软件管理学。 软件工程基本原理 著名软件工程专家B.Boehm综合有关专家和学者的意见并总结了多年来开发软件的经验,于1983年在一篇论文中提出了软件工程的七条基本原理。 (1)用分阶段的生存周期计划进行严格的管理。 (2)坚持进行阶段评审。 (3)实行严格的产品控制。 (4)采用现代程序设计技术。 (5)软件工程结果应能清楚地审查。 (6)开发小组的人员应该少而精。 (7)承认不断改进软件工程实践的必要性。 B.Boehm指出,遵循前六条基本原理,能够实现软件的工程化生产;按照第七条原理,不仅要积极主动地采纳新的软件技术,而且要注意不断总结经验。 软件工程(SoftWare

10 基于CNN的电影推荐系统

做~自己de王妃 提交于 2019-12-06 10:22:22
本文从深度学习卷积神经网络入手,基于 Github 的开源项目来完成 MovieLens 数据集的电影推荐系统。 什么是推荐系统呢? 什么是推荐系统呢?首先我们来看看几个常见的推荐场景。 如果你经常通过豆瓣电影评分来找电影,你会发现下图所示的推荐: 如果你喜欢购物,根据你的选择和购物行为,平台会给你推荐相似商品: 在互联网的很多场景下都可以看到推荐的影子。因为推荐可以帮助用户和商家满足不同的需求: 对用户而言:找到感兴趣的东西,帮助发现新鲜、有趣的事物。 对商家而言:提供个性化服务,提高信任度和粘性,增加营收。 常见的推荐系统主要包含两个方面的内容,基于用户的推荐系统(UserCF)和基于物品的推荐系统(ItemCF)。两者的区别在于,UserCF 给用户推荐那些和他有共同兴趣爱好的用户喜欢的商品,而 ItemCF 给用户推荐那些和他之前喜欢的商品类似的商品。这两种方式都会遭遇冷启动问题。 下面是 UserCF 和 ItemCF 的对比: CNN 是如何应用在文本处理上的? 提到卷积神经网络(CNN),相信大部分人首先想到的是图像分类,比如 MNIST 手写体识别,CAFRI10 图像分类。CNN 已经在图像识别方面取得了较大的成果,随着近几年的不断发展,在文本处理领域,基于文本挖掘的文本卷积神经网络被证明是有效的。 首先,来看看 CNN 是如何应用到 NLP 中的

软件工程结课作业

六月ゝ 毕业季﹏ 提交于 2019-12-06 03:06:08
软件工程的目标是:在给定成本、进度的前提下,开发出具有适用性、有效性、可修改性、可靠性、可理解性、可维护性、可重用性、 可移植性 、可追踪性、可 互操作性 和满足用户需求的软件产品。追求这些目标有助于提高软件产品的质量和开发效率,减少维护的困难。 (1)适用性:软件在不同的系统约束条件下,使用户需求得到满足的难易程度。 (2)有效性:软件系统能最有效的利用计算机的时间和空间资源。各种软件无不把系统的时/空开销作为衡量软件质量的一项重要技术指标。很多场合,在追求时间有效性和空间有效性时会发生矛盾,这时不得不牺牲时间有效性换取空间有效性或牺牲空间有效性换取时间有效性。时/空折衷是经常采用的技巧。 软件的概念: 软件是计算机系统中与硬件相互依存的另一部份,是程序、数据、以及相关文件的完整集合。程序是事先设计的功能要求执行的序列。数据是使得程序能征程操作信息的数据结构。文档是程序开发,维护和利用的有关图文和材料。软件的表现形式分为有形和无形,软件的有形表现在软件的的文档、程序、代码、用户界面、输出表报、等。软件的无形部分表现在:软件的内部逻辑,是软件自身的设计思想。 软件危机:软甲危机是软甲开发和软件维护。具体产生的原因有对软件的成本和进度的估计不是准确,项目管理经验缺乏。用户对已完成的软件系统不是很满意,模糊的设计需求、闭门造车、盲与编程、交付日期没有保证。软件的产品质量靠不住

测试过程

与世无争的帅哥 提交于 2019-12-05 20:02:04
软件生命周期 软件测试要经过一个什么样的过程呢,这就要从软件的生命周期开始说起了。 软件生命周期又称为软件生存周期或系统开发生命周期,是软件的产生直到报废的生命周期。 整个生命周期包括问题定义与规划、需求分析、系统设计、软件编程、软件测试、软件运维等阶段。 在周期内,无论是开发还是测试都依赖于某个模型进行作为依据,有效地提高开发、测试效率。 软件开发模型 在软件开发的实践中,总结了很多软件的开发模型来描述和表示一个复杂的开发过程,如果瀑布模型、快速原型模型、螺旋模型等。 软件测试与软件开发模式有着紧密的关系,作为一名测试人员,应该充分理解软件的开发模式,尽快的找准自己的位置,从而尽快的发挥自己的价值。 瀑布模型 瀑布模型是线性模型的一种,在所有的模型中占有重要的地位,是所有其他模型的一个基础。 瀑布模型如同工地里的建造盖房流程,使用里程碑的方式,严格定义了各开发阶段的输入和输出。如果达不到要求的输出,下一阶段的工作就不展开。 测试的切入点,开发完成后,必须留给测试足够的时间给测试人员,否则可能会导致测试不充分,导致很多问题到项目的后期才体现出来。 优点 明确划分了软件生命周期的各个环节。 强调早期软件计划,需求分析比较重要。 清晰的工作流程,便于分工协作。 适合需求稳定的产品开发。 每个阶段都有一个检查点。 缺点 线性的开发流程,存在巨大的风险。 依赖于早期的需求调查

团队项目—Beta版本冲刺3

戏子无情 提交于 2019-12-05 17:49:51
1.测试与维护: 1.1 安装包不能使用的问题:是由于打包过程中设置名称错误,导致软件启动“exe”文件丢失,修改如: 1.2 安装包所需“Excel 12.0”环境问题:在网上查到方法以及自己想到的处理方法如下: 1.软件数据操作修改完善后,若出现“未在本地计算机上注册Microsoft.ACE.OLEDB.12.0”的报告错误,请参考博客解决: https://blog.csdn.net/yyzzhc999/article/details/79367114 2.请点击VS安装包:点击打开启动安装程序 选择安装程序中“修改”: 然后勾选“office开发人员工具”然后点击更新: 1.3 安装包所用文件的更新:由测试文件更新为正式数据文件: 2.测试反馈建议统计: 暂时一位:在测试了Rainbow Plan组的软件之后,我发现这个组的界面非常清新,简约,功能也还不错,希望以后能优化一下操作体验与反馈。 3.beta3冲刺总结: 这里主要解决的是最后打包与发布过程中出现的问题与解决情况,总的来说,并不会存在如之前一样,需要较多编码技术才能解决,较为容易与高效的解决和处理。 另外还统计测试体验人员建议,作为将来软件的进步方向,也可以在本博客下留言与评论。 来源: https://www.cnblogs.com/lobooi/p/11938410.html

个人第4次作业—Alpha项目测试

回眸只為那壹抹淺笑 提交于 2019-12-05 14:16:10
这个作业属于哪个课程 课程 这个作业要求在哪里 作业要求 团队名称 软工C#造梦厂 这个作业的目标 选取非自己所在团队的3个项目进行测试。 测试报告: 第一组 团队名称 认真不马虎队 项目名称 西柚贪吃蛇 博客地址 地址 测试过程: 测试评价:   总体做的很不错,因为贪吃蛇游戏本来的趣味性和程序在设计中加入了可改变颜色等设计而变得更好,但程序还是有错误的地方,比如操纵方向时,如果向前进方向相反的方向按键会直接游戏结束,这一点需要改进。 第二组 团队名称 七个小矮人 项目名称 黄金点游戏 博客地址 地址 测试过程: 测试评价:   软件还可以,如果可以看到玩家的得分和累计排名就更好了,软件界面还可以美化一下。 第三组 团队名称 愿头发与你我同在 项目名称 personal blog 博客地址 地址 测试过程: 测试评价:   做的很好,界面美观,而且功能比较完善,看得出开发人员是用心做了这次作业,目前在使用中还没发现什么问题,继续加油。 来源: https://www.cnblogs.com/ht123-XNSY/p/11926966.html

移动端测试

蹲街弑〆低调 提交于 2019-12-05 12:28:46
移动端测试的八大过程 一、安装/卸载; 真机上安装、卸载、高版本覆盖安装、低版本覆盖安装、卸载后安装高版本; 安装关注点:版本号、渠道号、数字签名(用抓包工具辅助查看)、安装成功后启动向导、安装过程中对意外情况的处理(取消、死机、重启、断电、内存不足、断网)、安装进度条、主要功能流程; 卸载关注点:卸载过程中的意外情况处理(取消、死机、重启、断电、内存不足、断网)、卸载进度条; 第三方软件协助安装、卸载、高版本覆盖安装、低版本覆盖安装、卸载后安装高版本; 在线升级: 升级注意点:升级提示、取消更新/强制更新、后台更新(ios的自动更新)、跨版本升级、升级过程中异常情况的处理(取消、死机、重启、断电、内存不足、断网)、升级进度、不同网络下升级; 第三方软件支持:itools、豌豆荚、91助手、华为助手、360、应用宝等; 二、业务功能测试; 根据需求文档、原型图和设计稿验证app各个功能的实现;    共性功能: 注册:用户名密码的输入(同文本框编辑“2-1)”)、用户名密码长度限制、注册后的页面提示(手机短信提示)、前台和后台数据一致、; 登录:用户名密码的输入(同登录“1-1)”)、非法登录次数限制、多设备登录(MTOP现有原则,一个应用同时只允许一台设备登录)、禁用账号登录、登录成功信息、登录后有注销按钮、登录超时处理、登录过程断网处理、登录过程切换网络; 注销

UI 自动化框架设想

安稳与你 提交于 2019-12-05 07:28:06
测试框架选型: 首先,通过利用TestNG结合csv的使用,将测试用例数据转化为测试代码中的数据,减少了测试人员录入数据和准备数据的工具; 再次,通过对appium的封装,按照面向对象的思想将测试中用到的页面元素封装成对象,增强测试代码的复用率,并减轻测试人员对底层代码实现的负担,提高测试代码编写效率; 最后,引入失败重跑、失败截屏,并通过reportng生成测试报告的方式,逐步完善测试过程,提高定位问题的速度; 测试框架分层: 数据层、驱动层、测试Case层、支持层 第一层:数据层 即执行用例时所需要的测试数据,如商户名、空间名、URL等,这些数据用来支撑整个脚本的执行。针对数据层,这里采了用数据驱动的方式。 第二层:驱动层 这一层主要封装各种driver。 比如我们针对网页测试,使用selenium-webdriver开发包。 针对app测试,我们使用appium开发包。我们在这一层进行封装,通过调用selenium-webdriver,appium提供的原生方法,封装成可读性很强的方法且加上容错机制。 以后就算我们要换用其他的第三方包,我们的测试案例层和支持层的方法也不需要做任何的修改。 只需要修改driver层实现的方式就可以了。在一层,我们主要实现两个方面的封装,一个是driver的封装,一个是基于基类自然语言函数的封装。 driver封装 我们需要封装

[笔记]CI笔记——CI的价值是什么

怎甘沉沦 提交于 2019-12-05 06:34:08
从大的方面来说,CI的价值在于: 减少风险。 缺陷的检测和修复变得更快。 软件的健康程度可以测量。 减少假定。 减少重复过程。 每次都以相同的方式执行“代码编译、数据库集成、测试、审查、部署和反馈”。 遵守有序的过程。 每次将变更提交到版本控制库中,就会执行这些过程。 减少重复过程的劳动,让人们有时间做更多的需要动脑筋的、更高价值的工作。 通过对一些重要过程(如测试和数据库集成)自动化,克服项目中某些成员对实现改进的抵制。 在任何时间、任何地点生成可部署的软件。 增强项目的可见性。 对开发团队的软件产品建立起更强大的产品信心。 [摘自《Continuous Integration - Improving Software Quality and Reducing Risk》简体中译版,即《持续集成 - 软件质量改进和风险降低之道》] 来源: oschina 链接: https://my.oschina.net/u/115036/blog/37856