Vagrant入门基础实例应用


大规模测试时上百台虚拟机如何维护,项目的云部署如何更专业的进行,都需要寻找一些工具解决。而puppet配合vagrant是用来管理大量虚拟机的主流解决方案,可将其作为进入这个领域的一个突破口。

术语介绍

  • Puppet 是一种Linux、Unix、windows平台的集中配置管理系统,用puppet描述语言来管理配置文件、用户、软件包、系统服务等。
  • Vagrant 是一种基于Ruby的管理工具,用于搭建和配置轻量级的、可再生的、便携式的开发测试环境。
  • VagrantBox 是一个配置好的基础虚拟机映像,Vagrant使用盒子来创建开发环境,支持VirtualBox、VMware、KVM等虚拟机。
  • VirtualBox 是一款开源虚拟机软件,可以安装并且执行Windows、DOS、Linux、OS/2 Warp等系统作为客户端操作系统。

准备工作

个人百度经验汇总链接


JMeter

JMeter-使用代理录制Web性能测试脚本
JMeter-使用Badboy录制Web性能测试脚本

LoadRunner

LoadRunner:[1]LoadRunner12官网下载
LoadRunner:[2]LoadRunner12安装教程
LoadRunner:[3]LoadRunner11下载和安装
LoadRunner:[4]LoadRunner11汉化教程
LoadRunner:[5]LoadRunner11入门基础知识
LoadRunner:[6]什么是负载测试 负载测试流程
LoadRunner:[7]自带HP WebTours打不开或报错
安装LoadRunner提示缺少vc2005_sp1_with_atl…

数据库相关

MySQL安装和配置(图解)
如何完全卸载MySQL数据库
使用Navicat创建MySQL数据库
使用Navicat创建表并录入数据

VMware虚拟机中忘记开机密码怎么办


只是想简单实践一下JMeter-Plugins是如何监控服务器CPU、内存等。实践过程出现异常为了解决一个问题,从而引入一系列问题。

简单说一下前因后果。在本地win10主机上先配置好JMeter-Plugins插件(复制插件的JMeterPlugins-Standard.jar到JMeter的bin\ext\目录下),其次运行startAgent.bat(ServerAgent-2.2.1),最后运行jmeter.bat(JMeter-2.12)。在Apache JMeter应用程序窗口中创建线程组添加监听器“jp@gc - PerfMon Metrics Collector”,准备就绪运行JMeter线程。结果startAgent.bat命令行一直提示“Client disconnected”,如下:

INFO    2015-09-09 14:16:05.082 [kg.apc.p] (): Accepting new TCP connection
INFO    2015-09-09 14:16:05.110 [kg.apc.p] (): Yep, we received the 'test' command
INFO    2015-09-09 14:16:05.112 [kg.apc.p] (): Starting measures: cpu:
INFO    2015-09-09 14:16:05.404 [kg.apc.p] (): Client disconnected

这个问题一直困惑和纠结着我,查询很多资料和博客说ServerAgent是运行在被监控服务器上。我运行在win7、win10上都不行,难道非要运行在Windows Server上吗?(最后实践证明运行在WindowServer也不行)

JMeter异常解决WARNING: Could not open/create prefs root ..


项目提供的二次开发接口较多,为了提高测试效率保证质量引进JMeter做二次开发接口测试。JMeter相关安装配置就绪后,双击jmeter.bat启动JMeter → 先弹出jmeter.bat 命令行窗口 → 随后弹出Apache JMeter应用程序窗口。

  • jmeter.bat 命令行有异常警告信息,如下:
    java.util.WindowsPreferences<init>
    WARNING:Could not open/create prefs root node Software\JavaSoft\Prefs at root 0x80000002. Windows RegCreateKeyEx(...) returned error code 5.

《高效能人士的七个习惯》



次阅读

Alt text

习惯一:积极主动——个人愿景的原则

习惯二:以终为始——自我领导的原则

习惯三:要事第一——自我管理的原则

习惯四:双赢思维——人际领导的原价

习惯五:知彼知己——移情沟通的原则

习惯六:综合综效——创造性合作的原则

习惯七:不断更新——平衡的自我更新的原则

— 史蒂芬·柯维


记住:只学不做等于没学,只知不做也等于无知。

Linux软件安装和常用工具介绍


Linux系统软件安装方法yum和rpm

  1. yum和rpm的安装区别
    yum 是网络安装(依赖互联网环境);从「源」上下载安装包,若存在依赖关系自动下载依赖包并安装。
    rpm 是本地安装;安装包存在本地,存在依赖关系的安装包需自己手动逐一安装;个人修改编译过的安装包只能用rpm安装。

  2. yum和rpm的基本安装过程(Java为例)
    • 「yum命令」安装的基本过程
      1) 查看系统是否已安装java;
      2) 若已安装的java不合期望则将其卸载;
      3) 查看yum库中可安装的java rpm安装包;
      4) 选择适合的java rpm包进行安装;
      5) 检查java版本信息确保安装成功。
      [root@localhost ~]# ping www.baidu.com         # 检查网络是否正常连通
      [root@localhost ~]# yum list installed java*   # 查看资源库中已经安装的java rpm包
      [root@localhost ~]# yum -y remove java*        #卸载;参数-y:当需要判断输入[Y/N]时默认为Y,无需输入
      [root@localhost ~]# yum list java*             # 查看资源库中可以安装的java rpm包
      [root@localhost ~]# yum -y install java-1.7.0-openjdk*   # 当显示"Complete!"时即安装完毕
      [root@localhost ~]# java -version                        # 查看当前java版本
      

JMeter插件和工具

1、Java内置性能分析器—JConsole

  • jconsole运行环境
    jconsole是JAVA 5.0开始引入的(java内置)性能分析器,只要当前主机安装配、置好JDK运行环境,它就能直接运行在命令行GUI shell中。

  • jconsole运行步骤
    点击:Windows开始 → 运行 → 输入cmd → 命令提示符中输入jconsole并回车 → 弹出“java监视和管理控制台”。

  • jconsole本地测试
    在“java监视和管理控制台” → 勾选“本地进程” → 点击“sun.tools.jconsole.JConsloe” → 点击“连接”后进入监控界面(见图1)。

    图1 Java监视和管理控制台

    注:在Java 6.0版本后,本地开启jconsole连接才无需设置参数。

  • jconsole远程测试—未完待续
    在“java监视和管理控制台” → 勾选“远程进程”输入远程服务器的用法(见图2) → 再输入远程进程用户名密码 → 点击“连接”可进入监控界面。

    图2 Jconsole新建连接

    注:若点击“连接”时弹出“安全连接失败,是否以不安全的方式重试?”提示,点击“不安全”即可连接进入监控界面。 

2、JMeter监控内存和CUP的插件—JMeterPlugins

JMeter对于内存和CPU的监控存在不足,通过系统的资源监控器来观察,一闪而过又不会记录下来,不便于查阅和对比。Google开发了一款专门用于监控的JMeter插件—JMeterPlugins,弥补了JMeter这方面的不足。【以Windows为例介绍JMeter-Plugins】

  • JMeterPlugins的下载
    当前版本:JMeterPlugins-Standard-1.3.0.zip(标准版)
    下载地址:http://www.jmeter-plugins.org/downloads/all/

  • JMeterPlugins的配置
    解压JMeterPlugins-Standard-1.3.0.zip,仅将解压包lib\ext\目录下的JMeterPlugins-Standard.jar复制到JMeter的bin\ext\目录下即完成配置。

  • JMeterPlugins的使用
    首先运行JMeter:双击bin目录jmeter.bat → 弹出命令行窗口 → 显示Apache JMeter窗口。
    其次添加监控内存监听器:右击测试计划 → 添加(add) → 监听器(listener) → “jp@pc - PerfMon Metrics Collector”。
    再次运行ServerAgent中ServerAgent.bat
    最后启动监控内存需要使用监听器中:“jp@gc - PerfMon Metrics Collector”。

—未完待续


参考文献

JMeter下载地址
JMeter Tutorial的安装和具体操作
Jmeter—google plugin插件监控被测系统资源方法

Web界面输入边界异常测试

  一个B/C架构模式的Web项目,除了对增、删、改、查等功能性的测试外,还必须考虑输入边界异常测试,以保证产品或软件自身的健壮性和容错性。输入边界异常测试的重点是关注实际应用场景,用于检验Web界面(前台)是否对输入框做相应异常校验。输入边界测试参考范围值是根据实际情况而定,或由设计、开发、测试人员事先协商约定。

  接下来就简单介绍几个输入边界测试实例:   

示例1:用户管理

用户管理 场景 正常值 边界测试 备注
账号
密码
确认密码
邮箱
电话
微信/QQ

注释:诸多网站注册用户名支持手机、邮箱、用户名注册,则需要考虑手机格式和邮箱格式的用户名

账号/帐号/用户名

【场景】
 支持手机、邮箱、自定义注册(仅介绍自定义)
【自定义约定】
 字符格式:仅支持中文、英文、数字、_
 字符长度:4~12个字节
 字符内容:非空、不可重复、不予存在空格
【正确值】
 如:你好、你好我好他好、ABab、ABCDEabcde、1234567890、_你ADCabc1
【边界异常测试】
 字符格式:한국어(韩语)、Русский язык(俄语)、あき(日语字母)、I IV V(罗马数字)、全角格式的英文数字字符、
      除下划线外的特殊字符:~ ! @ # ¥ $ % …… & * ( ) [ ] { } | \ “ ‘ —— + 等等
      写了很多感觉有点夸张,主要是体现边界测试异常点之多,实际测试考虑到成本几乎没谁会这样测试的
 字符长度:少于4字节、多于12字节
 字符内容:为空、账号已被注册、存在空格

密码

【场景】
 非银行取款密码
【密码约定】
 字符格式:仅支持英文字符(区分大小)、数字、彼此组合
 字符长度:6~18位
 特例:银行卡取款密码有且只有6位、某些网银密码必须为字母+数字、手机卡号密码不予设置简单密码123456等
【正确值】
 如:123456、123456789012345678、abcdef、abcdefghijlmnlopqr、ABCDEF、ABCDEFGHIJKMLNOPQR、abc123、abcABC、ABC123、abCD12
【边界异常测试】
 字符格式:12ABC你好、_12ABCabc、
 字符长度:少于6位、多于18位
 字符内容:为空、包含空格  

示例2:个人信息
姓名:
身份证:
年龄:
学历:
爱好:
身高:
体重:

示例3: IP
通信IP:
网关:
子网掩码:
DNS:

示例4: 搜索


个人经验,仅供参考,欢迎吐槽。

杂谈

情景一:在繁华的商业街道附近有一家好吃的小面馆,不知道厨师咋了,刚刚几个客人点的面条都忘记了加盐。
屌丝:老板加点盐,今天的面好像没放盐,咋回事儿?
路人:随便给我来点。
商务:服务员加点盐,我个人口味比较重。

情景二:在电梯门口碰巧遇到公司同事,几个妹子都买面包牛奶当早餐,看见有买肉夹馍(很香、很好吃)的同事。
妹子甲:好像吃肉夹馍。
妹子乙:要不和他们还。
屌 丝:吃肉夹馍容易长胖,不能减肥。(妹子一脸黑线)
路 人:吃肉夹馍不利于瘦身。

Thanks for reading

若遇见,你会怎么说?

测试人员基本自我要求


1、制定测试计划、设计测试用例、执行测试用例、编写测试报告;跟踪bug,协助开发重现或定位Bug。 ok
2、熟悉测试流程和开发模式。根据开发模式制定适合的测试流程和方法。
3、熟练使用测试工具,如:JMeter
4、搭建测试环境和管理工具,如:安装部署linux系统、搭建部署管理工具:Mantis+TestLink、bugFree等
5、熟悉linux操作系统
6、熟悉数据库,如:mysql
7、会一种测试脚本语言,如:python、php、ruby、shell脚本
8、性能调优测试、高并发测试等。
9、提示测试基础知识,如测试常识可参见测试面试问题。