
IT--软件测试
互联网速递520
这个作者很懒,什么都没留下…
展开
-
单向链表反转
单向链表的反转是一个出现频次非常高的面试题,我曾经就在这个题上吃过亏,但是不要紧,咱研究一下也就出来了。先说链表的单向特点:1. 只有从前向后才能找到某一个节点2. 最后一个节点的下一个节点地址(也就是我们通常所说的next指针)是null3. 链表有可能是个空链表,即:它的首个节点元素就是null4. 链表通常都有add、insert、delete、contains等几个方法原创 2017-02-13 13:31:58 · 445 阅读 · 0 评论 -
Android测试环境变量配置表
要修改的文件是~/bash_profile这个配置文件,内容如下:# Setting PATH for JavaJAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home"CLASS_PATH="$JAVA_HOME/lib"# Setting PATH for Python 3.4# The原创 2015-07-14 20:09:27 · 1170 阅读 · 0 评论 -
Java测试序列化数据时的计数策略
近日测试中遇到一个需求,要使用程序不断地去监测指定的服务组件是否正在运行,一分钟检测一次,如果发现异常,就要将异常的信息捕获出来,然后记录到日志中,供开发人员排查。可是在执行的过程中,发现一个问题,产生的日志在记入文件的时候,没有明确的行列标记,非常不便于操作,而且日志是追加模式的,在分类的情况下,要按分类查找更加困难。比如:总共产生了1W条日志,info级别的8000条,error级别的原创 2015-07-30 23:30:06 · 666 阅读 · 0 评论 -
Java判断和检查网络
在实践项目中,经常要处理网络异常等问题。为此,专门设计一个类,随时可以使用。import java.io.IOException;import java.net.InetAddress;import java.net.NetworkInterface;import java.net.UnknownHostException;import java.util.Enumeration;原创 2015-08-12 19:41:20 · 3388 阅读 · 0 评论 -
Java语言的多态机制实现
多态与动态绑定机制,在实践中非常常见,适用于许多场景,尤其是对于设计复杂的测试用例,更能发挥强大的作用。先实现一个demo,把思路走通再说。/** * */package ball;import java.util.InputMismatchException;import java.util.Scanner;/** * @author administrator *原创 2015-08-11 07:32:57 · 785 阅读 · 0 评论 -
Java的类继承机制 -- 应用于接口系统测试
首先,我们需要正确解析Java的类继承机制,通过一个demo即可。例: 学生信息处理 基类:学生,完成所有学生的通用的方法 职务类:担任了各种职务的学生,他们也是学生,但是和一般的学生不同,他们有别于普通学生,他们有额外的特征(字段)和技能(职务)实现:文件1:Student.javapackage com.dufe.startup原创 2015-08-08 23:27:01 · 756 阅读 · 0 评论 -
基于Monkey的Android自动化测试
使用Monkey,可以对应用的稳定性和健壮性进行压测,测试的结果对于产品在复杂环境下的运行情况有非常重要的参考意义。下面是一个示例,带有相应的注释,简单明了,供大家参考。#!/bin/bash# define case base informationcase_name="monkey case"case_ver="1.0.2"case_package_name="cn.pack原创 2015-07-27 13:54:01 · 832 阅读 · 0 评论 -
软件测试的基点
用户体验之心理模型构建 做软件测试,在许多时候,当基本面上的BUG消灭之后,为了进一步提升产品的市场份额,增加用户粘性,客观现实还要求我们能够从用户体验的层面更加深刻地领会产品好用与不好用,从这些方向上为产品的改进提出更好的意见和建议,在这个层面上思考问题,要求我们要懂产品、懂技术、懂市场,最重要的,是要懂用户,基于用户角度考虑的问题,常常会碰到一些难以取舍和决择的问题原创 2015-07-05 15:49:17 · 802 阅读 · 0 评论 -
软件测试人员的修行新篇
玩游戏的人,都围绕着一个核心的目标去努力,那就是随着主角的修行等级上升具备更多的技能,杀死更高级的怪物,获得更好的装备和更多的金钱,完成更高级的任务。在这个过程中,成就感和快乐也就随之而来。说的这些,好像和我们的文题风马牛不相及,但笔者认为,这有共通之处,为什么这么说呢?因为软件测试作为一个职业,它和流水线上的质检还是有本质的区别的,这份工作不是只要我们学会了就可以闭着眼睛干一辈子的那种。不同原创 2015-06-09 20:29:37 · 803 阅读 · 0 评论 -
Swift语言中的switch语句的妙用
Swift中的switch语句的类另用法:// 强大的switch语句var a:Int = 100switch a {case a where a < 0: println("Negative")case a where a == 0: println("Zero")case a where a > 0: println("Positive")defaul原创 2015-04-30 22:00:22 · 929 阅读 · 0 评论 -
封装一个素数方法,在使用散列表时需要预置大小,需要用到这个方法
在使用散列表时,影响散列情性能的最个很重要的因子就是初始容量,有研究认为需要为这个大小指定一个已知数量规模的1.5倍大小并且要求是一个质数,现在封装一个方法直接使用就可以了,不用现场计算了。闲话不说,直接上代码:/** * @author liwei * */public class Prime { /** * @param args */ public static原创 2015-10-04 11:41:38 · 554 阅读 · 0 评论 -
Java回调方法的最好示例
在C++中,实现回调非常容易,给被调模块传入一个函数指针,然后在被调模块中操作这个函数指针即可,实现很方便,效率也极高。当然了,Java也能实现,可是在网上看到了很多对Java回调方法的讲解,都不是非常简明易懂。今天我专门写个例子给大家分享,免得在实际使用中总是困惑。示例思路:模拟一个拷贝大文件的过程,拷贝大型文件时需要消耗一定的时间,调用者不必阻塞等待,继续做自己的事情即可。等待拷贝文件的任原创 2015-09-15 14:14:34 · 652 阅读 · 0 评论 -
Google的Gson的坑
上代码先:package com.sinoiov.testng;import org.testng.annotations.AfterTest;import org.testng.annotations.BeforeTest;import org.testng.annotations.Test;import com.google.gson.Gson;import com.goog原创 2016-10-26 18:29:41 · 1621 阅读 · 0 评论 -
Go语言的接口
Golang的接口定义十分灵活,使用也很方便,可以很轻松的编码而不必考虑各种兼容性和外部藕合,因为只要我们实现了某个接口中定义的那个方法,也就是说方法签名一致,那么就可以认为实现了这个接口的方法,这个时候只要我们对方法的Receiver做一致性处理就好了,也就是面向同一个接口的多个方法的Receiver是一致的,那么它们就组成一个整体,是这个struct的一组行为的实现,OOP就自然而然的形成了,原创 2016-08-27 13:10:58 · 671 阅读 · 0 评论 -
怎样弄清楚本机的数据在内存处理中是大端法还是小端法
不多说,直接上代码:#include typedef unsigned char *byte_pointer;void show_bytes(byte_pointer start, int len) { int i; for (i = 0; i < len; i++) { printf(" %.2x", start[i]); } printf("\n");}void原创 2016-08-17 08:40:14 · 574 阅读 · 0 评论 -
Python写的一个优美的下载器
Python写的一个优美的下载器,很实用的。原创 2016-07-11 15:03:49 · 5348 阅读 · 2 评论 -
Android手机在Windows下一键截屏
很简单,直接上一个批处理脚本即可完成@echo offset timestamp=%Date:~0,4%%Date:~5,2%%Date:~8,2%_%Time:~0,2%%Time:~3,2%%Time:~6,2%echo %timestamp%set filename=screenshot_%timestamp%.pngecho 文件名:%filename%adb shel原创 2016-06-01 17:12:17 · 800 阅读 · 0 评论 -
Ruby脚本面向对象编程和字符串处理
一个测试脚本,既可以了解类的创建和初始化,还可以应用字符串的处理机制#!/usr/bin/ruby# -*- coding: UTF-8 -*-class Car @id @name def initialize(id, name) @id = id @name = name end def speeding(speed) puts "ID:#{@id} "原创 2016-04-21 00:15:12 · 551 阅读 · 0 评论 -
使用Python对文件名进行排序
经常在Linux下操作文件,要对一组文件名保存起来使用的时候,需要排序,但是文件名是字符串,自然排序结果会出现这种问题:源数据:5.rb 2.rb 201.rb 51.rb 7.rb 4.rb系统提供的排序方法结果是这样的:2.rb 201.rb 4.rb 5.rb 51.rb 7.rb这明显是不对的,201当然应该排在最后,只是当成字符串来处理,就会有这样的问题,所以用Pyt原创 2016-05-11 10:20:48 · 12417 阅读 · 4 评论 -
Java解析处理JSON
JSON格式目前是非常常用的,就不用多说了,我这里使用GOOGLE的解析库GSON。此示例要求包中要导入GOOLE的GSON库才能使用,位置:https://github.com/google/gson导入之后,先创建一个User类:Users.java文件:/** * */package cn.you.job;import java.util.Arrays;/原创 2016-04-11 23:39:17 · 420 阅读 · 0 评论 -
生产者消费者模型
#业务背景在服务器端实现了一套接口测试业务流程,测试用例执行的时候会生成一些数据,在服务器端和客户端还没有常连接的情况下,怎样处理好C/S两端的交互问题,保证测试数据不丢失?我想到了生产者消费者设计模型,正好可以解决这个问题。废话不说,直接上代码:/** * */package main_example;/** * 测试程序 * @author liwei *原创 2016-01-19 16:57:01 · 497 阅读 · 0 评论 -
Java多线程同步机制
Java的多线程同步机制和其他语言开发的是一样的,在当前线程中,遇到某个事件时,等待另一个线程运行结束或者另一个线程的事件,然后再决定如何处理。本例来自书上的实例,精简了代码,调整了部分逻辑,使得看起来更加简洁明了。已经运行通过。代码如下:package SwingExample;import java.awt.BorderLayout;import java.util.Rand原创 2015-04-09 23:14:01 · 1061 阅读 · 0 评论 -
我的第一个Java图形程序
从书上看到了例子,自己又做了一点扩展,做个样子玩玩。内容上稍微调整了一下,总结一点点小小的用法,写了点注释,仅供参考。package SwingExample;import java.awt.Color;import java.awt.Container;import java.awt.Font;import javax.swing.JFrame;import javax.s原创 2015-04-08 00:16:29 · 1453 阅读 · 0 评论 -
学习Photoshop的一点心得
因为使用所以学习 离开部队走进社会,我必须要重新面对自己的一切,找一份工作看似简单其实也难,看是艰难其实也不难。简单也困难,不在于我们所面对的事情,而在于我们如果看待这份工作。 弃之不舍,难以释怀,自然而然地会感觉无法割舍,然而要前进一步不像是说一句话这么简单,所以就会感觉困难。心态平和,自我淡定,此处不成别觅他所,也就不会觉得如此艰难了。身怀绝技,自然是所到之处拱手欢迎,一无事原创 2013-07-08 16:20:03 · 1881 阅读 · 0 评论 -
MagicBox Statistics
网络接吻器让“飞吻”成真手机免费访问 www.cnfol.com 2011年05月04日04:27 北京晨报 查看评论 日本研究人员开发一种装置,借助互联网传递亲吻,让网络两端的使用者感受到对方动作。这种接吻器现阶段只能传递部分接吻要素,有待进一步完善。接吻器推出后遭到不少质疑。有人认为,人类通过这种方式互动是一种悲哀。 传递吻 接吻器由日本电气通信大学 本研究室研究原创 2013-07-08 16:20:55 · 658 阅读 · 0 评论 -
HTML特殊字符表
十分有用,收藏则个。ISO Latin-1字符集字符十进制字符编号实体名字说明--- ---未使用Unused------未使用Unused------未使用Unused------未使用Unused---转载 2013-07-10 00:29:14 · 868 阅读 · 0 评论 -
assert俗称断言,个人认为称有校性校验更准确,这里是它的用法,亲测通过
assert是C++中灵活控制程序逻辑的一个好方法,许多人称之为“断言”,个人感觉理解成有效性校验或者有效性检查可能会更准确一些,小的项目也不会用到它,但是它真的对于我们捕获一些错误十分有帮助,如果能再结合try...catch使用,就更强大了。注意:它仅仅是捕获错误,并不会抛出异常,这仍然需要我们自行完成,还可以再使用throw,总而言之,多多积累,多多练习吧。原创 2013-07-10 00:37:18 · 1171 阅读 · 0 评论 -
目前流行的缺陷管理工具
正在寻找相关资料,很好原文地址:目前流行的缺陷管理工具作者:曾经的我缺陷管理工具:1. Bugzilla2. Bugfree3. TestDirector (QualityCenter)4. ClearQuest5. JIRA6. Mantis7. Bugzero8. BugTracker9. URTracker10.KisTracker11.TestLin转载 2013-07-08 16:22:16 · 860 阅读 · 0 评论 -
Net 服务命令行参考之二
----------------------------------最实用高效的网络管理命令NET[ACCOUNTS | COMPUTER | CONFIG | CONTINUE | FILE | GROUP | HELP|HELPMSG | LOCALGROUP | PAUSE | SESSION | SHARE | START|STATISTICS | STOP | TIME原创 2013-07-08 16:21:13 · 1204 阅读 · 0 评论 -
Net服务命令行参考之一
----------------------------------最实用高效的网络管理命令NET[ ACCOUNTS | COMPUTER | CONFIG | CONTINUE |FILE | GROUP | HELP |HELPMSG | LOCALGROUP | PAUSE | SESSION | SHARE| START |STATISTICS | STOP | TIME原创 2013-07-08 16:21:10 · 1298 阅读 · 0 评论 -
QTP 11.00 ——简单脚本如何录制
以QTP 11.00自带的订飞机票的小示例程序为例,手工开发以下脚本代码:If Dialog("Login").Dialog("Flight Reservations").Exist(2)Then Dialog("Login").Dialog("FlightReservations").WinButton("确定").ClickEnd IfDialog("Login").WinEdi原创 2013-07-08 16:22:38 · 1529 阅读 · 0 评论 -
如何使用Web Application St…
原文地址:Application Stress Tool 来为你的 Web">如何使用Web Application Stress Tool 来为你的 Web作者:周帅WebApplication Stress Tool 这个工具我用迅雷搜索就下成功了!测试脚本的准备1、在测试客户端机器上启动Web Application StressTool,在弹出的“建立新脚本”对话框中选择“Rec转载 2013-07-08 16:21:50 · 552 阅读 · 0 评论 -
C++ 编程处理字符串经常出错,我自己接管了Windows的那个错误报告
CRT的运行时库在处理字符串时经常会因为参数传错而报错,我自己写了程序接管了它的异常,这里可以做更多的事情。原创 2013-09-08 08:26:55 · 1650 阅读 · 0 评论 -
使用Python语言高效地处理一个文本文件
# -- encoding: utf-8 --# 脚本功能:在指定的文件中查找指定的字符串# 此脚本接受两个参数# 参数1:指定一个文件名,在这个文件中查找字符串# 参数2:指定一个字符串用于查找from sys import argvfrom os.path import exists# script - 脚本文件自己# file - 指定操作对象文件名称# string原创 2013-10-01 22:59:04 · 1327 阅读 · 0 评论 -
统计字符类型
使用Swift语言实现,非常简单,具体代码如下:func countChars(string: String) -> (vowels: Int, consonants: Int, others: Int) { var vowels = 0, consonants = 0, others = 0 for character in string { var char原创 2015-02-26 23:03:37 · 1176 阅读 · 0 评论 -
C++获取系统环境变量
TCHAR szOutBuf[MAX_PATH] = {0}; GetEnvironmentVariable( _T("ProgramFiles"), szOutBuf, MAX_PATH - 1 ); TCHAR szOutBuf2[MAX_PATH] = {0}; GetEnvironmentVariable( _T("ProgramFiles(x86)"), szOutBuf2, M原创 2014-12-12 18:00:08 · 4256 阅读 · 0 评论 -
Python写的一个优美的定时器,定时精度可调
# -* coding: utf-8 -*-import sysimport osimport getoptimport threadingimport timedef Usage(): usage_str = '''说明: \t定时器 \timer.py -h 显示本帮助信息,也可以使用--help选项 \timer.py -d num 指定一个延时时间(以毫秒为单位)原创 2014-05-10 17:07:15 · 15941 阅读 · 2 评论 -
自己写的一个自动化测试任务执行工具(模板)
@echo offREM 设置自动执行的最大次数SET nMaxJobTimes=100REM 启用变量延迟setlocal enabledelayedexpansionFOR /L %%i IN (0,1,%nMaxJobTimes%) DO ( cls echo. echo. echo ******************************原创 2014-05-10 14:35:07 · 1731 阅读 · 0 评论 -
Python发一个GET请求
# -*- coding: utf-8 -*-try: import httplib2except ImportError: print('错误:') print(' httplib2这个XML解析库没有找到,程序无法继续执行!') exit(255) def network_get_proc(self, use_cache = True): '''POST动作'原创 2014-05-08 21:18:16 · 1666 阅读 · 0 评论 -
Python发一个POST请求
# -*- coding: utf-8 -*-from urllib.parse import urlencodetry: import httplib2except ImportError: print('错误:') print(' httplib2这个XML解析库没有找到,程序无法继续执行!') exit(255) def network_post_proc(原创 2014-05-07 15:40:25 · 1277 阅读 · 0 评论