程序测试

Testing和Instrumentation

筅森魡賤 提交于 2019-12-22 05:37:43
Testing和Instrumentation Android提供了一系列强大的测试工具,它针对Android的环境,扩展了业内标准的JUnit测试框架。尽管你可以使用JUnit测试Android工程,但Android工具允许你为应用程序的各个方面进行更为复杂的测试,包括单元层面及框架层面。 Android测试环境的主要特征有: 可以访问Android系统对象。 Instrumentation框架可以控制和测试应用程序。 Android系统常用对象的模拟版本。 运行单个test或test suite的工具,带或不带Instrumentation。 支持以Eclipse的ADT插件和命令行方式管理Test和Test工程。 这篇文章是对Android测试环境和测试方法的简要介绍,并假设你已经拥有一定的Android应用程序编程及JUnit测试的经验。 概要 Android测试环境的核心是一个Instrumentation框架,在这个框架下,你的测试应用程序可以精确控制应用程序。使用Instrumentation,你可以在主程序启动之前,创建模拟的系统对象,如Context;控制应用程序的多个生命周期;发送UI事件给应用程序;在执行期间检查程序状态。Instrumentation框架通过将主程序和测试程序运行在同一个进程来实现这些功能。 通过在测试工程的manifest文件中添加

11、HDFS编程案例

拈花ヽ惹草 提交于 2019-12-22 00:06:25
一、Windows环境配置 1、准备好hadoop的完全分布式按照,具体按照步骤这里不再赘述 此处我的版本为hadoop2.7.6版本,环境配置为Hadoop的完全分布式按照,各个节点具体安排如下 1)机器地址映射关系 192.168.8.240 hadoop01 192.168.8.241 hadoop02 192.168.8.242 hadoop03 2)机器节点安排 hadoop01 namenode datanode nodemanager hadoop02 secondarynamenode datanode nodemanager hadoop03 resourcemanager datanode nodemanager HDFS:分布式文件 hadoop01为namenode,其他都为datanode(包括hadoop01自己) YARN:分布式计算 hadoop03为resourcemanager管理节点,其他为计算节点nodemanager 3)说明 namenode最好单独出来,减轻元数据负载压力 secondarynamenode最好不要与namenode放置在同一台机器进行冷备份 resourcemanager最好单独出来避免与nodemanager在同一台机器 4)注意 hadoop完全分布式环境启动注意 hdfs的启动和关闭可以在任意节点进行控制:

Testing和Instrumentation

≡放荡痞女 提交于 2019-12-22 00:04:20
Android 提供了一系列强大的测试工具,它针对 Android 的环境,扩展了业内标准的 JUnit 测试框架。尽管你可以使用 JUnit 测试 Android 工程,但 Android 工具允许你为应用程序的各个方面进行更为复杂的测试,包括单元层面及框架层面。 Android 测试环境的主要特征有: l 可以访问 Android 系统对象。 l Instrumentation 框架可以控制和测试应用程序。 l Android 系统常用对象的模拟版本。 l 运行单个 test 或 test suite 的工具,带或不带 Instrumentation 。 l 支持以 Eclipse 的 ADT 插件和命令行方式管理 Test 和 Test 工程。 这篇文章是对 Android 测试环境和测试方法的简要介绍,并假设你已经拥有一定的 Android 应用程序编程及 JUnit 测试的经验。 概要 Android 测试环境的核心是一个 Instrumentation 框架,在这个框架下,你的测试应用程序可以精确控制应用程序。使用 Instrumentation ,你可以在主程序启动之前,创建模拟的系统对象,如 Context ;控制应用程序的多个生命周期;发送 UI 事件给应用程序;在执行期间检查程序状态。 Instrumentation 框架

ssm整合——Mybatis配置(1)

笑着哭i 提交于 2019-12-20 19:38:21
文章目录 mybatis搭建-基于注解 1. 环境准备 1.1 新建maven的webapp项目 1.2 新建必要的目录和文件 1.3 文件配置 2. 编写程序 2.1 User.java 2.2 IUserDao.java 2.3 测试程序 mybatis搭建-基于配置 1. 环境准备 1.1 新建maven的webapp项目 1.2 新建必要的目录和文件 1.3 文件配置 2.1 编写程序-类和表字段一致 2.1 User.java 2.2 IUserDao.java 2.3 IUserDao.xml 2.3 测试程序 2.2 编写程序-类和表字段不一致 2.1 User.java 2.2 IUserDao.java 2.3 IUserDao.xml 2.3 测试程序 mybatis搭建-基于注解 1. 环境准备 1.1 新建maven的webapp项目 1.2 新建必要的目录和文件 1.3 文件配置 pom.xml junit默认创建是4.11,手动改成4.12 < dependency > <!-- 单元测试,这里将原先的4.11版本改为了4.12--> < groupId > junit </ groupId > < artifactId > junit </ artifactId > < version > 4.12 </ version > < scope >

基于微服务架构,改造企业核心系统之实践

自闭症网瘾萝莉.ら 提交于 2019-12-20 15:43:24
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 1. 背景与挑战 随着公司国际化战略的推行以及本土业务的高速发展,后台支撑系统已经不堪重负。在吞吐量、稳定性以及可扩展性上都无法满足日益增长的业务需求。对于每10万元额度的合同,从销售团队准备材料、与客户签单、递交给合同部门,再到合同生效大概需要3.5人天。随着业务量的快速增长,签订合同的成本急剧增加。 合同管理系统是后台支撑系统中重要的一部分。当前的合同系统是5年前使用.NET基于 SAGE CRM 二次开发的产品。 一方面,系统架构过于陈旧,性能、可靠性无法满足现有的需求。另一方面,功能繁杂,结构混乱,定制的代码与SAGE CRM系统耦合度极高。由于是遗留系统,熟悉该代码的人早已离职多时,新团队对其望而却步,只能做些周边的修补工作。同时,还要承担着边补测试,边整理逻辑的工作。 在无法中断业务处理的情况下,为了解决当前面临的问题,团队制定了如下的策略: 1). 在现有合同管理系统的外围,构建功能服务接口,将系统核心的功能分离出来。 2). 利用这些功能服务接口作为代理,解耦原合同系统与其调用者之间的依赖; 3). 通过不断构建功能服务接口,逐渐将原有系统分解成多个独立的服务。 4). 摒弃原有的合同管理系统,使用全新构建的(微)服务接口替代。 2. 什么是微服务 多年来,我们一直在技术的浪潮中不断乘风破浪

功能测试常见面试题

a 夏天 提交于 2019-12-20 00:21:23
1、问:你在测试中发现了一个bug,但是开发经理认为这不是一个bug,你应该怎样解决? 首先,将问题提交到缺陷管理库里面进行备案。 然后,要获取判断的依据和标准: 根据需求说明书、产品说明、设计文档等,确认实际结果是否与计划有不一致的地方,提供缺陷是否确认的直接依据; 如果没有文档依据,可以根据类似软件的一般特性来说明是否存在不一致的地方,来确认是否是缺陷; 根据用户的一般使用习惯,来确认是否是缺陷; 与设计人员、开发人员和客户代表等相关人员探讨,确认是否是缺陷; 合理的论述,向测试经理说明自己的判断的理由,注意客观、严谨,不参杂个人情绪。 等待测试经理做出最终决定,如果仍然存在争议,可以通过公司政策所提供的渠道,向上级反映,并有上级做出决定。 2、问:给你一个网站,你如何测试? 首先,查找需求说明、网站设计等相关文档,分析测试需求。 制定测试计划,确定测试范围和测试策略,一般包括以下几个部分:功能性测试;界面测试;性能测试;数据库测试;安全性测试;兼容性测试 设计测试用例: 功能性测试可以包括,但不限于以下几个方面: 链接测试。链接是否正确跳转,是否存在空页面和无效页面,是否有不正确的出错信息返回。 提交功能的测试。 多媒体元素是否可以正确加载和显示。 多语言支持是否能够正确显示选择的语言等。 界面测试可以包括但不限于一下几个方面: 页面是否风格统一,美观 页面布局是否合理

使用InternalsVisibleToAttribute给assembly添加“友元assembly”特性遭遇\"强签名\"

橙三吉。 提交于 2019-12-19 04:06:05
一、如何让Intenal成员暴露给另一个程序集 我们知道Modifier为Internal的类型成员仅限于当前程序集能够访问,但是在某些情况下,我们希望将它们暴露给另一个程序集。比较典型的应用场景包括如下两种: 将一个组件或者模块定义成两个或者两个以上程序集,一个程序集需要访问另一个程序集的Internal成员 。比如将一个Logging组件定义成三个程序集:Logging.dll、Logging.Client.dll和Logging.Server.dll。其中后两个分别用于客户端和服务端的日志记录,而它们共同依赖的功能定义在Logging.dll中。定义在Logging.dll的API以共有成员的形式公布出来,而一些仅仅需要被Logging.Client.dll和Logging.Server.dll使用的API在定义成Interna成员。 对一个组件或者模块进行单元测试时候,单元测试用例需要调用定义在被测试组件或者模块的Internal成员 。 举个例子,如下图所示: 我将某个组件定义在Lib项目中,而Test是与之对应的单元测试项目。定义在Lib中组建成员的可见性依赖于具体的设计,但是在很多情况下,单元测试用例为了尽可能覆盖较多的分支,需要调用一些Internal成员。比如,设置一些Internal属性,或者调用一些Internal方法。

Monkey、Monkeyrunner 概述

Deadly 提交于 2019-12-18 12:21:09
软件测试是软件产品开发过程中的重要环节,对于保重软件质量具有重要的意思。手动测试和自动化测试是软件测试的两个基本手段。本文主要介Android – 自动化测试 Android平台上提供了一些自动化测试工具:Monkey、Monkeyrunner。 Monkey、Monkeyrunner 概述 一、Monkey 概述 monkey可以直接在XP/WIN7上运行,只要XP/WIN7上能用adb,即可使用。 Monkey测试是Android平台自动化测试的一种手段,通过Monkey程序模拟用户触摸屏幕、滑动Trackball、按键等操作来对设备上的程序进行压力测试,检测程序多久的时间会发生异常,Monkey测试是一种为了测试软件的稳定性、健壮性的快速有效的方法。 Monkey程序由Android系统自带,使用Java语言写成,在Android文件系统中的存放路径是:/system/framework/monkey.jar。 Monkey.jar程序是由一个名为“monkey”的Shell脚本来启动执行,shell脚本在Android文件系统中的存放路径是:/system/bin/monkey;这样就可以通过在shell窗口中执行: adb shell monkey {+命令参数}来进行Monkey测试了。 二、Monkeyrunner 概述 1

OO第5~7次作业总结

余生长醉 提交于 2019-12-18 09:49:41
作业5——多线程电梯 设计框架——UML 协作 时序图 (想看大图的话 crtl+滚轮 比较方便) 我为什么不用UML协作图(Communication Diagram),而是用UML时序图(Sequence Diagram)。 一方面,这样横平竖直的图更加直观美观。另一方面,使用Eclipse的plantUML插件能够比较方便地生成时序图。虽然从二者的区别上看: 时序图主要侧重于对象间消息传递在时间上的先后关系, 而协作图表达对象间的交互过程及对象间的关联关系。 协作图似乎能够更好地描述线程之间的协作关系,但是我发现有些软件是可以自动由时序图生成协作图的,这说明二者本质上描述的东西是一样的,只不过传达的角度有所侧重。相信聪明的你一定能够多角度看问题嘿嘿嘿~ 【插播一则 eclipse的plantUML插件安装和使用方法】—— 摘自 http://www.importnew.com/24706.html 1. 安装: PlantUML for Eclipse 插件主要用于在 Eclipse 中使用 PlantUML。在 Eclipse 的插件市场中安装,点击 Help --> Install new software --> add --> 起个帅气的name,location中输入网址: http://plantuml.sourceforge.net/updatesitejuno

测试用例设计之白盒测试

生来就可爱ヽ(ⅴ<●) 提交于 2019-12-18 02:04:37
白盒测试:(结构测试)是一种测试用例设计方法,在这里盒子指的是被测试的软件,把测试对象看做一个透明的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。 白盒测试技术一般可被分为静态分析和动态分析两类技术。 静态分析主要有:控制流分析技术、数据流分析技术、信息流分析技术。 动态分析主要有:逻辑覆盖率测试(分支测试、路径测试等),程序插装等。 白盒测试优点:迫使测试人员去仔细的思考软件的实现;可以检测代码中的每条分支和路径;揭示隐藏在代码中的错误;对代码的测试比较彻底;最优化。 白盒测试缺点:昂贵;无法检测代码中遗漏的路径和数据敏感性错误;不验证规格的正确性。 覆盖标准 逻辑覆盖 语句覆盖 判定覆盖(分支覆盖) 条件覆盖 判定/条件覆盖 条件组合覆盖 控制结构覆盖 基本路径测试 循环测试 条件测试 数据流测试 语句覆盖:是一个比较弱的测试标准,它的含义是:选择足够的测试用例,使得程序中每个语句至少都能被执行一次。它是最弱的逻辑覆盖,效果有限,必须与其它方法交互使用。 判定覆盖(也称为分支覆盖):执行足够的测试用例,使得程序中的每一个分支至少都通过一次。判定覆盖只比语句覆盖稍强一些,但实际效果表明,只是判定覆盖,还不能保证一定能查出在判断的条件中存在的错误。因此,还需要更强的逻辑覆盖准则去检验判断内部条件。 条件覆盖:执行足够的测试用例