51Testing软件测试网

 
 

常用链接

  • 我的随笔
  • 我的评论
  • 我参与的随笔

留言簿(3)

  • 给我留言
  • 查看公开留言
  • 查看私人留言

随笔档案

  • 2021年6月 (1)
  • 2021年3月 (1)
  • 2020年9月 (1)
  • 2020年3月 (1)
  • 2020年1月 (2)
  • 2019年12月 (3)
  • 2019年11月 (5)
  • 2019年10月 (1)
  • 2019年9月 (2)
  • 2019年8月 (14)
  • 2019年7月 (20)
  • 2019年6月 (15)
  • 2019年5月 (12)
  • 2019年4月 (19)
  • 2019年3月 (20)
  • 2019年2月 (9)
  • 2019年1月 (16)
  • 2018年12月 (17)
  • 2018年11月 (21)
  • 2018年10月 (16)
  • 2018年9月 (20)
  • 2018年8月 (22)
  • 2018年7月 (3)
  • 2018年6月 (1)
  • 2018年5月 (7)
  • 2018年4月 (1)
  • 2018年3月 (3)
  • 2018年2月 (6)
  • 2018年1月 (2)
  • 2017年9月 (8)
  • 2017年8月 (28)
  • 2017年7月 (3)
  • 2016年11月 (1)
  • 2016年6月 (1)
  • 2016年4月 (1)
  • 2016年2月 (2)
  • 2015年7月 (1)
  • 2015年5月 (1)
  • 2015年4月 (2)
  • 2015年3月 (1)
  • 2015年2月 (2)
  • 2015年1月 (6)
  • 2014年12月 (3)
  • 2014年11月 (3)
  • 2014年10月 (3)
  • 2014年9月 (2)
  • 2014年8月 (8)
  • 2014年7月 (16)
  • 2013年12月 (5)
  • 2013年11月 (1)
  • 2013年10月 (3)
  • 2013年9月 (2)
  • 2013年8月 (2)
  • 2013年7月 (3)
  • 2013年5月 (1)
  • 2013年4月 (2)
  • 2013年3月 (2)
  • 2013年2月 (3)
  • 2013年1月 (4)
  • 2012年12月 (4)
  • 2012年11月 (4)
  • 2012年10月 (3)
  • 2012年9月 (4)
  • 2012年8月 (3)
  • 2012年7月 (4)
  • 2012年6月 (2)
  • 2012年5月 (2)
  • 2012年4月 (1)
  • 2012年3月 (2)
  • 2012年2月 (2)
  • 2012年1月 (1)
  • 2011年12月 (3)
  • 2011年11月 (2)
  • 2011年10月 (1)
  • 2011年9月 (4)
  • 2011年8月 (3)
  • 2011年7月 (2)
  • 2011年6月 (4)
  • 2011年5月 (4)
  • 2011年4月 (2)
  • 2011年3月 (4)
  • 2011年2月 (4)
  • 2011年1月 (7)
  • 2010年12月 (7)
  • 2010年11月 (5)
  • 2010年10月 (4)
  • 2010年9月 (7)
  • 2010年8月 (7)
  • 2010年7月 (3)
  • 2010年6月 (3)
  • 2010年5月 (4)
  • 2010年4月 (4)
  • 2010年3月 (5)
  • 2010年2月 (3)
  • 2010年1月 (4)
  • 2009年12月 (3)
  • 2009年11月 (3)
  • 2009年10月 (1)
  • 2009年9月 (3)
  • 2009年8月 (2)
  • 2009年7月 (3)
  • 2009年6月 (1)
  • 2009年5月 (2)
  • 2009年4月 (4)
  • 2009年3月 (5)
  • 2009年1月 (1)
  • 2008年11月 (2)
  • 2008年7月 (5)
  • 2008年6月 (4)

文章分类

  • 行业资讯(45) (rss)
  • 软件业务知识(43) (rss)
  • 软件开发知识(33) (rss)
  • 软件测试工具(39) (rss)
  • 软件测试技术(157) (rss)
  • 软件测试管理(40) (rss)
  • 软件测试职业发展(57) (rss)

51testing软件测试网

搜索

  •  

最新评论

  • 1. re: 淘宝后台技术大揭秘,不看这篇你双十一要损失几个亿!
  • 关注官方公众号“Atstudy网校”,点击中间菜单栏“双11”,领取双十一技术内幕资料。
  • --51testing
  • 2. re: 软件测试流程的一点感悟
  • 提交缺陷时只需要描述现象即可,过多的分析可能会误导开发
  • --凡客诚品
  • 3. re: 软件测试流程的一点感悟
  • 阿达宿建德江阿斯顿
  • --凡客礼品卡
  • 4. re: 手机软件测试的经验总结
  • 很好啊~不错
  • --乐蜂网
  • 5. re: 手机软件测试的经验总结
  • 很好啊~
  • --罗莱家纺

阅读排行榜

  • 1. 软件测试流程的一点感悟(1091)
  • 2. 5年经验之谈:月薪3000到30000,测试工程师的变“行”记!(940)
  • 3. 测试自动化及软件测试工具的比较(857)
  • 4. 银行线上信贷系统如何做好接口测试?手把手教你接口工具Postman(825)
  • 5. 软件为什么要做异常测试?测试员必知的22个测试点总结!(806)

评论排行榜

  • 1. 软件测试流程的一点感悟(4)
  • 2. 软件测试的原则和经验 (4)
  • 3. 嵌入式软件测试技巧(2)
  • 4. 手机软件测试的经验总结 (2)
  • 5. 常用软件测试工具的分析与比较(1)

Powered by: 博客园
模板提供:沪江博客
IT博客 | 首页 | 发新随笔 | 发新文章 | 联系 | 聚合 | 管理

刚刚,微信出现重大BUG!

今天上午,微信出现重大Bug!

从其他App分享内容给个人或微信群,均无法正常分享。

此外,图片、文档的发送以及网页版微信登陆也短暂地出现了故障。

持续时间约30分钟,目前各项功能已全部恢复,相关帐号信息无影响。


有网友打车付不了款的


有给外卖小哥送猪蹄的(捂脸哭)


有与年假失之交臂的(小编只能送你个泳抱并表示你竟然还想休年假?!)


还有赤果果炫富的(嫉妒到变形的小编)


而坐在办公室里的我们却是:

“我发你了!”

“没收到啊!”

“怎么可能?你是不是屏蔽我了!”

嗯,老大给小编发消息,还以为小编把他给删了(跪下认错脸)


还有这样的(当个新媒体小编,求生欲是你想象不到的强)


好在现在BUG修复了,小编又能开心的干活了(不接受反驳)


不过中午又有网友表示登陆不了微信账号了,你们快看看自己的账号还好吗?


本文综合自iFeng科技、经济日报等

欢迎加入  51软件测试大家庭,在这里你将获得【最新行业资讯】,【免费测试工具安装包】,【软件测试技术干货】,【面试求职技巧】... 51与你共同学习,一起成长!期待你的加入: QQ                     群:                    755431660

posted @ 2019-01-24 18:16 51testing 阅读(92) | 评论 (0) | 编辑 收藏
 
实用测试技能分享:APP压力稳定性测试之Monkey入门实战

Monkey测试简介

在android手机上做自动化测试,monkey比cts,Android UnitTest 好用多了,他其实是继承与adb shell中的一段的shell指令。

monkey测试的相关的原理

monkey测试的原理就是利用socket通讯的方式来模拟用户的按键输入,触摸屏输入,手势输入等,看设备多长时间会出异常。当Monkey程序在模拟器或设备运行的时候,如果用户出发了比如点击,触摸,手势或一些系统级别的事件的时候,它就会产生随机脉冲,所以可以用Monkey用随机重复的方法去负荷测试你开发的软件。


Monkey的一般使用步骤

1.先确认设备(模拟器或者真机)是否连接成功。命令:adb devices,出现设备号则表示连接成功。

2.确定待测应用的包名。参考如下

1)打开CMD命令行

2)adb shell进入shell界面,通过查看data/data下的程序包,根据关键字查找包名

3.执行monkey测试命令

adb shell monkey -p your.package.name --pct-touch 30 --ignore-crashes  --ignore-timeouts--throttle 250 -s 2  -v -v -v 5000000

Monkey的常见命令

1:常用选项

--help:打印帮助信息

-v:指定打印信息的详细级别,一个 -v增加一个级别 , 默认级别为 0 。-v -v -v 为最详细日志。

2:事件选项

-s:指定产生随机事件种子值,相同的种子值产生相同的事件序列。如: -s 200

--throttle:每个事件结束后的间隔时间——降低系统的压力(如不指定,系统会尽快的发送事件序列)。如:--throttle 100

--pct-touch:指定触摸事件的百分比,如:--pct-touch 5% , 相关的还有以下option:

--pct-motion <percent> (滑动事件)

--pct-trackball <percent> (轨迹球事件)

--pct-nav <percent> (导航事件 up/down/left/right)

--pct-majornav <percent> (主要导航事件 back key 、 menu key)

--pct-syskeys <percent> (系统按键事件 Home 、Back 、startCall 、 endCall 、 volumeControl)

--pct-appswitch <percent> (activity之间的切换)

--pct-anyevent <percent>(任意事件)

3:约束选项

-p:指定有效的package(如不指定,则对系统中所有package有效),一个-p 对应一个有效package, 如:-p com.ckt -p com.ckt.asura;

-c:activity必须至少包含一个指定的category,才能被启动,否则启动不了;

4:调试选项

--dbg-no-events:初始化启动的activity,但是不产生任何事件。

--hprof:指定该项后在事件序列发送前后会立即生成分析报告  —— 一般建议指定该项。

--ignore-crashes:忽略崩溃

--ignore-timeouts:忽略超时

--ignore-security-exceptions:忽略安全异常

--kill-process-after-error:发生错误后直接杀掉进程

--monitor-native-crashes:跟踪本地方法的崩溃问题

--wait-dbg:知道连接了调试器才执行monkey测试。

Monkey实战

一、monkey测试环境搭建:

运行前安装adb(MONKEY测试使用的是ADB命令,因此只需要配置ADB环境即可。)

1.pc端下载adb命令包,解压后放到C盘目录下(也就是jdk,sdk,jdk安装,sdk解压即可,并配置环境变量,path加上platform-tools和tools的目录路径)



2.手机通过usb连接电脑,自动安装usb驱动,连接成功

3.验证adb命令能否运行

pc端进入cmd命令行---进入C:\tmg目录下--运行adb shell,出现$符号证明adb命令运行成功,进入shell模式


二、手机设置

手机屏幕超时设置为从不关闭,防止手机进入锁屏状态。

以htc手机为例:进入设置-显示--屏幕待机--设置为从不关闭。


三、运行monkey

运行方式有三种:a.pc机上 adb shell monkey +参数  b pc机输入adb shell进入到手机的安卓设备后再monkey+参数 C手机设备上安装一个模拟器手机执行monkey+参数(手机模拟器可以通过百度搜索或360手机助手搜android terminal,安装即可,可以在模拟器的命令行中输入mokey +参数)

下面是第一种方法:

1.查看包名:查看电脑中某一位置的apk文件的包名:PC打开CMD-进入TMG目录-运行设备--查看包名aapt dump badging *.apk(apk文件的路径,可以直接拖拽)。


或者直接查看手机中存在的apk包,进入adb shell 命令后---手机的data/data文件夹--ls查看所有包名 找到要测apk的包名


2.运行monkey,对此包进行300次无规律点击。


或者运行monkey,对此包进行300次无规律点击后将日志导出到电脑的某一位置

adb shell -p 包名 -v 点击数 >电脑某一位置


3、测试停止后,查看导出的monkey日志,发现问题。


在log的最开始都会显示Monkey执行的seed值、执行次数和测试的包名。

首先我们需要查看Monkey测试中是否出现了ANR或者异常,无响应问题(ANR问题):在日志中搜索“ANR ”(此处有空格), 崩溃问题:在日志中搜索“Exception”,快速定位到关键事件信息 。然后查看Monkey里面出错前的一些事件动作,并手动执行该动作,找出重现步骤,给开发。


四、补充小知识:

1.如何安装apk?

adb install xxx.apk -----为了获取apk的安装包所在地址,可以直接把apk拖到cmd的窗口获取,返回success就说明安装成功了!

2.如何将本地文件上传到手机端?

adb push <本机路径> <手机路径>

例,将本地的白名单上传到手机端,adb push F:\whitelist.txt data/local/tmp

3.如何将日志保存到PC端?

adb shell monkey -v -v -v 1000 > 本机地址

例:adb shell monkey -v -v -v 1000 > d:\monkey.txt

4.日志查看补充

---->先把日志输出到本地

---->注意观察switch后面的内容,一般错误都会显示在这个后面

---->ANR问题:日志中搜索ANR关键字

---->奔溃问题:在日志中搜索Exception问题

欢迎加入  51软件测试大家庭,在这里你将获得【最新行业资讯】,【免费测试工具安装包】,【软件测试技术干货】,【面试求职技巧】... 51与你共同学习,一起成长!期待你的加入: QQ                     群:                    755431660

posted @ 2019-01-23 17:33 51testing 阅读(122) | 评论 (0) | 编辑 收藏
 
Linux运维,到底如何入门?常用linux操作指令盘点!

自从2018年9月19日“误删生产数据库,顺丰高级工程师被开除”的事件出现以后,很多人又对运维投来了鄙夷的态度,但也从另一面反映出运维这一职位的重要性。

我们可以说普通程序员们的职业生命曲线是抛物线,而运维的职业曲线则是飞机起飞轨迹。也许进入岗位头5年,普通程序员的工资以及知识结构都呈现出飞速增长的趋势,而运维却不温不火。但只要过了“5年之痒”,运维的春天就来了,他们就开始走向巅峰,越老越辣,越来越值钱,所以千万不要轻视运维们的潜在发展前景,他们的作用不容小觑。


下面来说说Linux操作系统:

这个操作系统现在的普及程度相比于十年前已经大大提高,但是由于其桌面操作系统上的可视化窗口操作模式并不像Windows操作系统那样直观、完美,对于一些刚接触Linux的人或者初学者来说入手还是有一定的难度,所以其发展并不是那么迅速。

Linux的特点:

①与unix系统兼容

②自由软件和源码公开

③性能高和安全性强

④便于定制和再开发

⑤互操作性高

⑥全面的多任务和真正的32位操作系统

Linux的发展优势:

开放源码系统从本质上就具有其他系统无法比拟的研制开发优势。

受到各国政府的大力支持。

得到全球各大软硬件公司的支持。

价格优势和安全性。

Linux常用操作指令

1、文本操作

%s/替换字符串对象/替换目标字符串

%s/aaa/sss 把文本中所有的aaa换成sss

/查找字符串 

/123 查找文本中的123 (n下一个N上一个)

a 在光标后一位开始插入

A在该行最后插入

I在该行最前面插入

gg 直接跳到文件的首行

G 直接跳到文件的末行

dd 删除行,如果5dd则一次性删除光标后的5行

yy 复制当前行,复制多行, 则 3yy 则复制当前行附近的3行

p 黏贴

v 进入字符选择模式 ,选择完成后,按y复制,按p粘贴

ctrl+v 进入快选择模式,选择完成后按y复制,按p粘贴

shift + v 进入行选择模式 选择完成后,按y复制,按p粘贴

more filename (空格)下翻一页 b上翻一页

less 方向键向上 向上一行 方向键向下 向下一行

cat 一次性获取所有文本 (空格)向下翻一行  (b)向下翻一行

/keyword 搜索关键字

tail -10 xxx.log 看10行

tail -f xxx.log

tail -F xxx.log

普通模式shift + 两次z 保存退出文本

head 10 filename 文件前10行

2、后台服务

source /etc/profile  //在配置完系统文件后需要用source加载一次配置

service  查看服务指令 (linux服务控制)  services.msc(windos服务控制)  mspaint(windows画板)

service  --status-all //查看所有后台运行服务

service network start  //网卡开启  network 可替代特定服务

service network stop //网卡关闭

service network restart //网卡重启

3、防火墙 6.0

chkconfig 查看后台所有服务自启配置

chkconfig iptables off 关闭指定服务的自动启动  这里服务为iptables防火墙

chkconfig iptables on 开启指定服务的自动启动 这里服务为iptables防火墙

4、系统启动级别管理

vi  /etc/inittab

0 一起就关

1 单用户

2 多用户 不支持nfs  共享文件夹

3 全功能多用户模式

4 unused没用

5 -x11图形化界面  桌面版

6 重启

5、压缩解压缩相关命令

tar.gz

压缩  tar -cvf myfirsttarball.tar 1.txt 2.txt 3.txt 4.txt

解压 tar -xvf myfirsttarball.tar

6、一次性完成打包和压缩操作

压缩 tar -zcvf my.tar.gz /somefile

解压 tar -zxvf my.tar.gz

-C 是指定你的压缩包要解压到的目录

比如:tar -zxvf my.tar.gz -C /tmp/ 就是要解压到tmp目录下!

7、解压命令tar zxvf中zxvf分别是什么意思

x : 从 tar 包中把文件提取出来

z : 表示 tar 包是被 gzip 压缩过的,所以解压时需要用 gunzip 解压

v : 显示详细信息

f xxx.tar.gz :  指定被处理的文件是 xxx.tar.gz

8、YUM本地制作

安装httpd并确认安装关联的

yum install -y httpd

列出所有可用的package和package组

yum list

清楚所有的缓存数据

yum clean all

列出一个包所有依赖的包

yum deplist httpd

删除httpd软件

yum remove httpd

每一个文件表示一个源

cd /etc/yum.repos.d

file://本地源

http://网络源

9、查看linux 已经安装的包

rpm -qai | grep mysql

-q query  (-q 为查询特定的对象 如 rpm -q mysql)

-a all  查询所有

-i 包的信息

10、查看端口

netstat及其条件的详细解析

netstat是用来打印Linux中网络系统的状态信息,可让你得知整个Linux系统的网络情况。

netstat -nltp

httpd启动可以直接web访问端口默认80

11、防火墙

service iptables status

service iptables start

service iptables stop

chkconfig iptables on 开机启动

chkconfig iptables off 开机不启动

firewall-cmd --state #查看默认防火墙状态(关闭后显示notrunning,开启后显示running)

总结:有资深Linux用户就吐槽:连Linux都学不会,智商真低!

有程序员哥哥说:公开场合不要去扯智商,有歧视之嫌。但都是搞技术,你智商咋样,瞒不过别人的眼睛。看看你的代码就知道,和语言无关。

有Linux用户说:因为有太多的人写两行脚本配置下系统就以为掌握了linux,还有太多的人写个智能指针就以为自己掌握了c++。就是这样。

java大咖问:跑个题,敢问什么叫掌握linux?

Linux本质上是学习工具的使用,其实核心与智商无关,林子大了,什么样的人都有。不过既然Linux现如今发展迅猛,熟悉掌握Linux当然很有必要。毕竟天外有天,人外有人!保持虚心的学习态度不仅能让你学到更多技术知识,而且会让你受人尊重。

欢迎加入  51软件测试大家庭,在这里你将获得【最新行业资讯】,【免费测试工具安装包】,【软件测试技术干货】,【面试求职技巧】... 51与你共同学习,一起成长!期待你的加入: QQ                     群:                    755431660

posted @ 2019-01-22 17:39 51testing 阅读(97) | 评论 (0) | 编辑 收藏
 
请逼自己学会这8个测试技能!年后在软件行业轻松升职加薪!


2019年已至,小编整理了一份学习阶段图,给大家~


下方附上全面软件测试从0基础到测试开发的八大阶段,你看看你是属于哪个阶段呢?

第一阶段:前置基础知识

这个阶段需要有基础知识储备,这样才能打牢基础,有利于下一阶段的提升。这个阶段主要是掌握计算机基础、测试理论、HTML基础、JS基础、CSS基础。


第二阶段:Linux和数据库

这个阶段主要是了解数据库的掌握情况,包含SQL语言、MYSQL关系型数据库等基础的数据库掌握。从操作系统到数据库的基本操作:增删改查,再到数据库的高级功能了解。


第三阶段:测试基础

这个阶段正式进入软件测试拉,从软件测试理论、测试方法和分类、黑白盒的测试用例设计、以及掌握一些bug管理工具。


第四阶段:语言

目前世界排名靠前的语言Java\Python。都是企业的需求语言,而随着python语言的全名普及化,应用在人工智能、大数据等热门领域,更是让python受到公司青睐。


第五阶段:web自动化测试

这个阶段的学习,大家应该更多的从以下两点去掌握。1.如何从手工测试转为自动化测试工程师;2.如何通过自动化测试技术为企业的测试工作提高效率,降低成本,增强测试的充分性和完整性。


第六阶段:手机自动化测试

手机端APP自动化测试,在业务基本稳定时,也是势在必行的一件事情。手机端自动化测试的技术还在不断的发展过程中。这个阶段的学习,是分基础、中级、高级的三个阶段的进行深入浅出的学习。


第七阶段:接口测试

这个阶段提供了各种不同协议,不同类型的接口项目,大家只有利用学习内容进行接口测试的实战。不光只是完成接口测试,而是要掌握全套的接口测试工作流程:1.接口需求测试分析;2.设计接口测试用例;3.使用工具开展接口测试;4.针对复杂接口编写代码进行接口测试;5.接口测试框架设计及实现;6.完成接口测试的持续集成。


第八阶段:性能测试

这个阶段的学习,从性能需求分析开始,到脚本设计实现,业务性能场景设计,性能故障定位以及性能优化都有实际的案例和项目进行实际操练。


扫描下方二维码

更加详细的测试开发阶段学习咨询

添加小姐姐微信,备注“测试开发”

立即领取限免试听


posted @ 2019-01-17 19:15 51testing 阅读(93) | 评论 (0) | 编辑 收藏
 
bug的一生:软件测试员,你是如何利用专业技术修复bug的?

bug像是一个被过分宠爱的小孩子,得到了特别多的关注。它们在开发者的IDE里悄然无声的诞生,但在现身之刻却引来一片喧闹“——bug的一生


Bug的出生证明

1945年9月9日,下午三点。哈珀中尉正领着她的小组构造一个称为“马克二型”的计算机。这还不是一个完全的电子计算机,它使用了大量的继电器,一种电子机械装置。第二次世界大战还没有结束。哈珀的小组日以继夜地工作。机房是一间第一次世界大战时建造的老建筑。那是一个炎热的夏天,房间没有空调,所有窗户都敞开散热。

突然,马克二型死机了。技术人员试了很多办法,最后定位到第70号继电器出错。哈珀观察这个出错的继电器,发现一只飞蛾躺在中间,已经被继电器打死。她小心地用摄子将蛾子夹出来,用透明胶布帖到“事件记录本”中,并注明“第一个发现虫子的实例。”

从此以后,人们将计算机错误戏称为虫子(bug)

软件测试中bug的生命周期

对于测试人员来说,bug的生命周期一般分为:发现bug—>提交bug—>验证bug,那在这三个阶段中如何体现测试的专业度呢?

第一阶段:发现bug

1、充分利用80/20法则

80/20法则,又称为,马特莱法则、二八定律、帕累托定律、最省力法则、不平衡原则、犹太法则。

80/20法则揭示了80%的成果源自仅仅20%的行动,体现了投入与产出不平衡的“普遍真理”。

一般情况下,80/20法则适用于以下软件测试情景:

80%的软件缺陷存在于20%的软件代码中(软件缺陷的“群集”现象)

80%的软件缺陷归因于20%的软件缺陷原因(软件缺陷的“群集”现象)

在分析、设计、实现阶段的复审和测试工作只能够发现和避免80%的软件缺陷,而系统测试也只能找出其余Bug中的80%。

2、跟开发人员有效沟通

跟开发人员有效沟通,既可以沟通个人之间的友情,还可以获得开发相关的知识,更可以得到有益于软件测试的信息。

3、从不同角度进行测试

从管理层的角度考虑,我们要了解被测产品在公司众多产品中的优先级,做到软件测试的有效性,即确保软件缺陷的有效性。

从开发人员的角度考虑,获知开发人员认为软件产品中那些模块开发难度大,缺乏信心,从而快速定位我们的测试重点。

从最终客户的角度考虑,尽可能从他们的既有的使用习惯和可能的问题出发,也就是用户体验出发,找出尽可能多的软件缺陷。

4、选择简易有效的测试工具

比如,网页的链接测试,如果选择一些简单易用的链接测试工具,既能提高覆盖率,又能发现较多的软件缺陷。

5、进行专项测试

比如,安装测试,卸载测试,双(多)字节测试,查询测试,上传附件测试,快捷键测试,UI整体风格测试(包括按钮、成功信息、警告信息)等等。

6、参照单元测试结果

可以帮我们定位软件测试重点,做到花费较少的时间,找出较多的软件缺陷。

7、参照其他测试人员报告的软件缺陷

每个人的思维都是有局限性的,我们可以参照其他测试人员报告的软件缺陷,获取新的测试思路,从而发现以前未曾发现的软件缺陷。

8、错误推测法

对于有一定软件测试经验的人来说,是一个短时间内发现较多软件缺陷见效较快的方法,体现了经验的价值。

第二阶段:提交bug

1. 确保bug有效。

提交的Bug必须是有效的,就要求我们在提交Bug时,确认:

①交付过程中测试者需按照设定好的模块,对Bug进行归类提交;

②Bug的类型默认为UI问题、功能问题、崩溃问题,提交Bug时不能弄错;

③需求是否明确、前提条件是否满足、输入数据是否正确、操作步骤是否清楚、Bug是否唯一性;

④避免提交设计如此、操作错误、重复的、已知的Bug;

⑤尽量少花时间在边界值、页面显示问题上,多提业务逻辑功能、交互测试方面的问题。

2. 写好bug描述。

1)bug描述精确、没有歧义,详细简洁的测试步骤。

2)保证各个字段内容与实际现象一致。比如:版本、复现率等

3)对于复现率低的问题,尽可能提供一些可参考信息:截图、视频、日志、可能的步骤、可能原因等(如果你能通过各种手段定位到问题的原因,开发大神也会对你刮目相看的)

4)对于特殊的测试场景,附带相关的数据,比如1024kb的图片等

第三阶段:验证bug

1. 确认好bug的复现前提及操作步骤。

2. 确认bug产生的原因及修复方法。

1) 明确bug产生的原因,触类旁通,分析其他模块可能存在的问题

2 ) 通过bug产生的原因,积累测试经验,扩展测试思路

3) 通过bug的修改方法,分析修改是否能修复问题?是否回引发其他问题?

4) 积累bug经验,在后续相关问题发现时,快速定位问题,提供解决思路

3. 确认bug的回归范围及用例。

在了解清楚bug产生的原因及修复方法基础上,再根据业务关联、功能模块关联确认回归范围,确保bug修复全面且没有引起新的bug。

总结:

bug千奇百怪,不是每个bug都需要经历所有流程的。每个步骤都有它的难点。 有些bug难在事发点的定位,比如多线程,异步逻辑中的bug; 有些bug难在原因很难分析,多数是你看不懂代码; 有些bug难在你不敢改,那是你的修改方案没有做好充分的分析。

欢迎加入  51软件测试大家庭,在这里你将获得【最新行业资讯】,【免费测试工具安装包】,【软件测试技术干货】,【面试求职技巧】... 51与你共同学习,一起成长!期待你的加入: QQ                     群:                    755431660

posted @ 2019-01-16 17:29 51testing 阅读(119) | 评论 (0) | 编辑 收藏
 
软件测试对学历有要求吗?你想知道的都在这儿了!

一说到软件测试,可能会有很多朋友会问:软件行业如何?行业背景到底是怎么样的?以后发展前景好吗?今天我就给大家做一个深度剖析,到底做软件行业好不好?有什么优势?软件测试对学历有什么要求?


一、软件测试行业好不好?

无论经济大环境有多么恶劣,IT行业都以一个坚定不移的步伐稳步向前。计算机行业是目前社会上最热门也同时最不可或缺的行业,虽很多传言说早已饱和云云,但谣言止于智者,每年那么多计算机优秀人才涌出,而各种传统行业纷纷转向互联网,足以证明很多问题。21世纪注定是互联网的时代,未来的一切都将离不开计算机和软件支持!

二、软件测试行业收入高不高?

毋庸置疑,IT行业收入早已跻身中国高薪收入前列。计算机行业的工资水平大家应该也是早有耳闻,在软件相关从业人员里,月薪过万者比比皆是,年入百万者也不在少数。近些年来,软件行业工资水平更是连年上涨,17年时华为应届毕业生入职就拿上万工资了。一分耕耘一分收获,你的每一滴努力,都会拿到你应有的报酬。

三、软件测试员的发展之路

软件测试工程师指理解产品的功能需求,并对其进行测试,检查软件有没有错误(Bug),决定软件是否具有稳定性,写出相应的测试规范和测试用例的专门工作人员。按其级别和职位的不同,分为三类。即:高级软件测试工程师、中级软件测试工程师、初级软件测试工程师。

高级软件测试工程师,熟练掌握软件测试与开发技术,且对所测试软件对口行业非常了解,能够对可能出现的问题进行分析评估:

中级软件测试工程师,编写软件测试方案、测试文档,与项目组一起制定软件测试阶段的工作计划,能够在项目运行中合理利用测试工具完成测试任务:

初级软件测试工程师,其工作通常都是按照软件测试方案和流程对产品进行功能测验,检查产品是否有缺陷。

四、软件测试对学历有要求吗?

目前国内很多行业都是会对学历有一些要求的。但是非常庆幸的是,如果说哪个行业对学历最不太看重,那就是计算机行业。因为计算机行业是要靠真刀真枪拼技术的,你行不行,能不能出活,只要实习几个月公司就能完全判断出来。如果有技术,能出活,能给公司解决问题,学历低点没有关系;如果没技术,不能出活,那就算你是清华北大也可能会被开除。而软件测试属于计算机行业的一个分支,对学历没有强制要求,大专以上学历都可以。所以说如果自己测试技术水平比较高的话,完全可以找到一个不错的工作。关键在于个人的努力和坚持。当然如果有技术的基础上还有不错的学历背景,那当然是更好,那就能有更多选择的可能性。但即使高学历也千万不要忘记了,企业用人更在意的还是技术本身,技术掌握扎实,工作态度认真,这才是未来职场上的核心竞争力。

五、互联网裁员潮已来,软件测试又该如何应对?1、日常积累

IT行业需要一点点的积累,很多东西不是一簇而就的。技术是很复杂的,技术是需要和场景来结合从而解决问题,技术是需要大量的积累和练习,是一个持之以恒的过程。所以,日常生活就要提前备战,当然在经济寒冬的情况下,我们更应该提升自己的核心竞争力!

2、面对大环境,随机应变换

互联网公司有很多,不要沉寂在一家公司太久,环境可以让一个人变得懒惰,同时我们这一生也不会只任职一家公司,因为你会发现到有一天你一定会因为某种原因离开那家你所谓还不错的公司。

这就是理想很丰满,现实很骨感!

3、做事要有格局

沉淀的测试技能有,测试广度你也得有!而不是永远局限目前的一亩三分地。做事要有格局,当你进入公司时,真正抗打的还是有真实的实战项目经验,如果你的技术仅仅只停留在掌握几种工具,表面会做几个项目的话,而没办办法举一反三的话,即使没有裁员危机,也长久不了的!

六、软件测试的就业问题?

软件测试的行业门槛低,就业简单,市场需求量大。在和其他IT相关岗位每年的竞争激烈不同,软件测试是未来IT行业里的主力军,但由于大学相应课程的不完善,一个好的测试人员往往重金难求。对测试人员来说,就业完全不用担心,跳槽涨薪也是小菜一碟。

七、总结:

近两年,互联网一直处理一个高速持续的过程发展,软件测试行业更是如此:大数据、人工智能、微服务、测试开发等,看到这些常常会有IT人员在说技术跟不上,但同时又继续顶住压力,提速前行。学如逆水行舟,不进则退!只有丰富自己的技术水平,才能在IT行业步步高升!

欢迎加入  51软件测试大家庭,在这里你将获得【最新行业资讯】,【免费测试工具安装包】,【软件测试技术干货】,【面试求职技巧】... 51与你共同学习,一起成长!期待你的加入: QQ                     群:                    755431660

posted @ 2019-01-11 17:41 51testing 阅读(103) | 评论 (0) | 编辑 收藏
 
实用测试技能分享:jmeter+Jenkins性能测试自动化搭建

这阶段有幸接手了公司新产品的测试,所以一直都很忙。后台收到一些同学的私信,想多了解下性能测试,正好闲暇之余,终于有时间总结了一些性能测试实践经验和测试过程,就跟大家聊一聊。

性能测试用来保证产品发布后系统的性能满足用户需求,在软件质量保证中起着重要作用。性能测试,我首选的工具是JMeter,而且不得不说JMeter也是一款非常好的接口测试工具。


Jmeter应用领域

JMeter是Apache组织开发的基于Java的性能测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试但后来扩展到其他测试领域

1.可用于压力测试及性能测试,数据库测试,Java程序的测试,HTTP及FTP测试,Web Service测试等等

2.可用于对静态的和动态的资源(文件,Servlet,Perl脚本,java 对象,数据库和查询,FTP服务器等等)的性能进行测试

3.可用于对服务器、网络或对象模拟巨大的负载,来在不同压力类别下测试它们的 强度和分析整体性能

4.可用于对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果

Jmeter虽然是一款广泛使用的性能测试工具,然而,在执行测试前,用户往往需要花费很多额外的精力和时间配置测试环境。

同时在进行测试时,使用单台服务器模拟数以千计的用户对目标服务器产生负载,受限于服务器的性能可能无法满足需求,这就需要一个多台服务器的分布式的并发的测试环境。

因此就需要一个基于Jmeter和Jenkins的自动化性能测试来解决以上问题。

框架介绍

首先用jmeter录制或者书写性能测试的脚本,用maven添加相关依赖,把性能测试的代码提交到github,在jenkins配置git下载性能测试的代码,配置运行脚本和测试报告,配置运行失败自动发邮件通知,这样一来性能测试的job配置完成。

接着,把性能测试的job配置成开发job的下游job,一旦开发有了新的代码提交运行开发自己的job后,就会自动触发我们性能测试的job。这样我们就实现了接口性能测试的全自动化,我们只需要关注测试失败的邮件!

1、安装java、maven

首先在远程的压测机上安装java、maven

解压缩相应的tar包

配置/etc/profile路径

Source /etc/profile使配置生效,很简单。


2、安装Jenkins

wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo

rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key

yum install Jenkins

启动service jenkins start

利用ip:port访问,进入Jenkins首页进行相应配置。

默认端口8080、主目录路径/usr/lib。

3、在Jenkins上新建节点机

节点机即压测机,即你要用哪台机器跑你的job。

首先安装ssh plugin插件;


然后新增一个根据用户名密码登录的credentials权限认证


最后就是配置节点,主要涉及配置jdk目录。


4、Jenkins上安装性能插件

主要是安装HTML reports和performance test result report插件

下载2个Jenkins插件,安装即可。


5、新建job

核心的内容如下

选择刚才的节点机为执行的机器,构建行为采用shell命令,构建后添加html report和performance trend。



6、验证结果

最后的效果如下。

可以看到丰富的html报告结果;

可以横向比较每个版本的性能基线;



ps:搭建jmeter性能测试自动化过程中遇到问题记录。

问题:

Jenkins无法展示性能测试的html结果

解决方法:

修改Content Security Policy的默认配置,进入ManageJenkins->Script console,输入如下命令并进行执行。


总结:

截止目前,jmeter+Jenkins性能测试自动化搭建已经完成,如果需要你也可以使用Ant集成。这个过程依然存在很多的不足,我会继续努力争取以后分享更多有价值的干货。古人云"The more we share, the more we have",将分享进行到底...


posted @ 2019-01-09 18:01 51testing 阅读(146) | 评论 (0) | 编辑 收藏
 
Web测试入门——软件测试员必知的50个常见测试点

这是自己看《软件测试》一书中对Web测试要点的总结,比较全面,之前做了脑图,但是图模糊,貌似也不方便看,故此,发布文本版。


一、Web应用程序

应用程序有两种模式,C/S和B/S。C/S模式,即Client/Server(客户端/服务端)模式,这类程序可独立运行。B/S模式,即Browser/Server(浏览器/服务端)模式,这类程序需借助浏览器来运行。

Web应用程序一般是B/S模式,一个Web应用程序是由完成特定任务的各种Web组件(web components)构成的并通过Web将服务展示给外界。在实际应用中,Web应用程序是由多个Servlet、JSP页面、HTML文件以及图像文件等组成。

了解了Web应用程序,该如何进行测试呢?

二、功能测试

功能测试,是对产品的各功能进行验证。测试要点有:

链接测试

(1)所有的链接是否按指示链接到该链接的页面

(2)所链接的页面是否存在

(3)保证没有孤立页面

表单测试

(1)验证服务器能正确保存这些数据

(2)后台运行的程序能正确解释和使用这些信息

Cookies测试

(1)Cookies是否起作用

(2)Cookies是否按预定的时间进行保存

(3)刷新对Cookies有什么影响

设计语言测试

(1)不同版本的设计语言会引起客户端、服务端严重的问题

数据库测试

(1)数据一致性错误:提交表单信息不正确

(2)输出错误

相关功能性测试

(1)删除/增加某一项:是否对其他项造成影响,这些影响是否都正确

(2)列表默认值检查

(3)检查按钮功能是否正确:新建、编辑、删除、关闭、返回、保存、导入、上一页、下一页、页面跳转、重置(常见错误)

(4)字符串长度检查:超出长度

(5)字符类型检查

(6)标点符号检查:空格、各种引号、Enter键

(7)特殊字符:常见%、“、”

(8)中文字符:是否乱码

(9)检查信息完整:查看信息,查看所填信息是否完整更新;更新信息,更新信息与添加信息是否一致

(10)信息重复:需唯一信息处,比如重复的名字或ID、重名是否区分大小写、加空格

(11)检查删除功能:不选择任何信息,按Delete,看如何处理;选择一个或多个进行删除;多页选、翻页选删除;删除是否有提示

(12)检查添加和修改是否一致:添加必填项,修改也该必填;添加为什么类型,修改也该什么类型

(13)检查修改重名:修改时把不能重名的项改为已存在的内容

(14)重复提交表单:一条已经成功提交的记录,返回后再提交

(15)检查多次使用返回键:返回到原来页面,重复多次

(16)搜索检查:存在或不存在内容,看搜索结果是否正确;多个搜索条件,同时输入合理和不合理条件;特殊字符

(17)输入信息的位置

(18)上传下载文件检查:功能是否实现,上传:上传文件是否能打开、格式要求、系统是否有解释信息、将不能上传的文件格式修改后缀为可上传的文件格式;下载:下载是否能打开、保存、格式要求

(19)必填项检查:必填项未填写;是否有提示,如加*;对必填项提示返回后,焦点是否自动定位到必填项

(20)快捷键检查:是否支持快捷键Ctrl+C、Ctrl+V、backspace;对不允许做输入的字段(如:下拉选项),对快捷方式是否也做了限制

(21)Enter键检查:输入结束后按Enter键,系统如何处理

(22)刷新键检查:按浏览器刷新键如何处理

(23)回退键检查:按浏览器回退键如何处理

(24)空格检查:输入项输入一个或多个空格

(25)输入法半角全角检查:比如,浮点型,输入全角小数点“。”或“. ”,如4. 5;全角空格

(26)密码检查:输入加密方式的极限字符;密码尽可能长

(27)用户检查:不同种类管理员用户的不同权限,是否可以互相删除、管理、编辑;一般用户的权限;注销功能,老用户注销再注册,是否为新用户

(28)系统数据检查:数据随业务过程、状态的变化保持正确,不能因为某个过程出现垃圾数据,也不能因为某个过程而丢失数据。

(29)系统可恢复性检查:以各种方式把系统搞瘫,测试系统是否可以迅速恢复

(30)确认提示检查:系统更新、删除操作:是否有提示、取消操作;提示是否准确;事前、事后提示

(31)数据注入检查:对数据库注入,特殊字符,对SQL语句进行破坏

(32)时间日期检查:时间、日期、时间验证:日期范围是否符合实际业务;对于不符合实际业务的日期是否有限制

(33)多浏览器验证

三、易用性测试(界面测试)

整体界面测试

(1)给用户的整体感:舒适感;凭感觉能找到想要找的信息;设计风格是否一致

控件测试

(2)各控件的功能

多媒体测试

(1)图形要有明确的用途,图片、动画排列有序且目的明确

(2)图片按钮链接有效,并且链接的属性正确(比如是新建窗口打开、当前页面打开)

(3)背景图片应该与字体颜色和前景颜色相搭配

(4)检查图片的大小和质量:一般jpg、gif、png;不影响图片质量的情况下能使图片的大小减小到30kb以下

(5)gif动画是否设置了正确的循环模式,颜色是否正常

(6)Flash、Silverlight元素是否正常

导航测试

(1)站点地图和导航条:位置是否合理;页面结构

内容测试

(2)提供信息的正确性、准确性、相关性

容器测试

(1)DIV

(2)表格:作为控件,设置是否正确;长宽是否足够。作为较早的网页布局方式,考虑浏览器窗口尺寸的变化;内容动态增加或删除对界面的影响

四、兼容性测试

平台测试:windows;unix;macintosh;linux

浏览器测试:不同厂商的浏览器对Java、Javascript、ActiveX、plug-ins或不同的HTML的规格不同的支持;框架和层次结构在不同浏览器也不同的显示

五、安全性测试

安全性测试要求:

(1)能够对密码试探工具进行防范

(2)能够防范对Cookie攻击的常用手段

(3)敏感数据保证不用明文传输

(4)能防范通过文件名猜测和查看html文件内容获取重要信息

(5)能保证在网站收到工具后在给定时间内恢复,重要数据丢失不超过1小时

测试要点

(1)应用级的安全

应用级的安全测试目的在于查找Web系统自身程序设计中存在的安全隐患,测试区域有:

(1.1)注册与登录:有效、无效的用户名和密码;要注意是否存在大小写敏感;可以尝试多少次的限制;是否可以不登录而直接浏览某个页面

(1.2)在线超时:超时限制

(1.3)操作留痕:相关信息是否写入日志

(1.4)备份与恢复:数据库增量备份;数据库完全备份;系统完全备份

(2)传输级的安全

传输级的安全测试目的在于测试数据经过客户端传送到服务器可能存在的安全漏洞,服务器防范非法访问的能力,测试要点:

(2.1)HTTPS和SSL测试;服务器端的脚本漏洞检查;测试未经授权,就不能在服务器端放置和编辑脚本问题

(2.2)防火墙测试:防火墙功能;防火墙设置

(2.3)数据加密测试:对介入信息的传送、存取、处理人的身份和相关内容进行验证

(2.4)密钥:密钥的产生、分配保存、更换与销毁

六、性能测试

(1)压力测试:实际破坏一个Web应用系统,测试系统的反应,测试系统的限制和故障恢复能力

(2)负载测试:在某一负载级别上的性能,包括某个时刻同时访问Web的用户数量、在线数据处理的数量

(3)强度测试:测试对象在性能行为异常或极端条件下(如资源减少或用户过多)的可接受性,以此验证系统软硬件水平

(4)数据库容量测试:通过存储过程往数据库表中插入一定数量的数据,看是否能及时显示

(5)预期指标的性能测试:在需求分析和设计阶段会提出一些性能指标,对于预先确定的性能要求要首先进行测试

(6)独立业务性能测试:对核心业务模块做用户并发测试,包括同一时刻进行完全一样的操作、同一时刻使用完全一样的功能

(7)组合业务性能测试:模拟多用户的不同操作,最接近实际用户使用情况,按用户实际的实际使用人数比例来模拟各个模块的组合并发情况

(8)疲劳强度性能测试:系统稳定运行情况下,以一定负载压力来长时间运行系统的测试

(9)网络性能测试:准确展示带宽、延迟、负载、端口的变化是如何影响用户的相应时间的

(10)大数据量性能测试:实时大数据量,模拟用户工作时的实时大数据量;极限状态下的测试,系统使用一段时间,积累一段数据量时能否正常运行,以及对前面两种进行结合

(11)服务器性能测试:在进行用户并发性能测试、疲劳强度、大数据量性能测试时,完成对服务器性能的监控,并进行评估

(12)一些特殊的测试:配置测试、内存泄漏的一些特殊测试

欢迎加入  51软件测试大家庭,在这里你将获得【最新行业资讯】,【免费测试工具安装包】,【软件测试技术干货】,【面试求职技巧】... 51与你共同学习,一起成长!期待你的加入: QQ                     群:                    755431660

posted @ 2019-01-08 17:29 51testing 阅读(98) | 评论 (0) | 编辑 收藏
 
这10本书,给你一次彻底学会自动化测试的机会!

从2018年初开始,到现在差不多1年多的时间,我投入了一部分精力用于项目的自动化测试建设工作。目前来看收益还是比较明显的,在这个过程中也加深了对自动化测试的理解,这边就总结下自己对自动化测试的认识。


首先我想说下在开展自动化前后,我的工作状况的对比:

去年2017年Q3、Q4,基本上天天处于996甚至997的状态。大部分时间都花在了功能测试保障、回归测试和上线验证。因为项目在线上有多达7,8个不同的集群,每一次版本上线为了保险起见,开发会一个集群一个集群小心翼翼地上线,所以基本上天天都处于上线的状态。每次上线,手工测试时间顺利的话在半小时左右,如果遇到问题跟开发联调定位,会达到数个小时。除了时间上开销很大之外,每次上线带来的精神上的压力其实更严重,非常害怕哪个用户半夜跳出来反馈说调度有Bug。

在开展了自动化测试之后,现在我给“日常版本迭代测试”只预估了25%的工作量。任意集群上线,我只要负责点一下Jenkins的“开始构建”按钮,即可完成验收。如果有出现用例失败,会自动发送邮件告知开发。

显然,目前的工作状态要好很多,是因为项目工作量减少了吗?显然不是。其实今年以来整个项目组在研发的投入要比去年更多,工作量只会比以前更重,还要兼顾多个私有化部署的客户的验收和日常测试保障工作,工作量肯定是只增不减的。之所以能有更多的时间空余出来做其它更多维度的事情,这一切都得益于“自动化测试”的帮助,它极大地解放了我的手工测试时间,同时更加提升了上线的信心。

不过市面上关于软件自动化测试的书,真心不多,但自动化测试却是我们高级软件测试人员必备的技能,如果你也想把你的精力投入到自动化测试建设的工作中去,不妨从这些书籍开始:

1、《代码整洁之道》


成为自动化测试工程师的第一步就是编程,对于大多数开发人员来说,编写代码并不是一个挑战,但编写出一个干净且易读的代码却很难,本书是每一个自动化测试人员的必读书籍,在本书中,你将了解什么是有意义的名称、注释、格式、错误结构、类、系统、并发性等等。

2、《自动化测试最佳实践》


这本书在自动化测试领域影响深远,它为很多公司指明了测试成功的方向。本书讲述了一些公司应用自动化的经历,其中涉及了很多项目,从复杂的政府部门系统到医疗设备,从SAP业务过程开发到Android移动应用和云计算。

3、《Selenium 2自动化测试实战》


Selenium自动化测试技术已经出来很多年了,市面上的书基本都是基于Java,本书基于Python,也算是一大亮点,书中提供了大量的示例代码,用简单的方法告诉读者如何学会使用一个自动化测试工具。

4、《Implementing Automated Software Testing》


顾名思义,本书将帮助你实现自动化软件测试(AST),同时保持质量、降低成本和节约时间。我觉得书中印象最深刻的一章是“为什么软件会测试失败和如何避免”。与此同时,你还将从本书中学到一些经验,比如如何自动化、AST框架的测试、开发测试自动化策略。

5、《The Agile Samurai》


自动化测试是敏捷开发人员的第一爱好。本书将帮助你详细了解敏捷开发,它将使您熟悉持续集成、测试驱动开发、单元测试、敏捷宣言、敏捷规划等等。

6、《敏捷软件测试》


通过本书你将充分了解到测试人员的真正职能是什么?敏捷团队真的需要具有QA背景的成员吗?“敏捷测试人员”到底意味着什么?并从测试人员的角度记录了敏捷软件开发迭代的一个完整周期,并解释了敏捷测试的七大关键成功要素。

7、《重构》


学习重构、找出代码的坏味道、构筑测试体系、学习 JUnit测试框架、简化方法调用、简化条件表达式等等。通过本书,你将学会改进现有代码的所有方法,并让它变为更具可读性并避免bug的代码。

8、《测试之美》


本书主要介绍各种优美的测试方法、测试工具、测试案例,以及杰出的测试人员和结构良好的测试群体。各种从业人员通过了解本书提供的不同场景并借鉴以往成功的经验可以提高测试能力和水平。

9、《.NET软件测试自动化之道》


主要讲解在.NET环境下编写轻量级软件测试自动化程序的实用技术。全书内容由Windows UI测试、Web应用程序测试和存储过程及XML测试三部分组成,全面介绍了如何利用.NET平台提供的一系列技术(而不是依赖于第三方的商业自动化测试工具),采用C#语言编写轻量级的、功能强大的自动化测试程序。

10、《测之重器——自动化测试框架搭建指南》


从FitNesse 的使用讲起,慢慢过渡到后台组件的开发,以及FitNesse 与Jenkins 的持续集成测试的整合,并用三章分别讲解RESTful、云计算平台、手机UI的自动化测试,从而能让大家理解如何在实际工作中运行自动化测试。当你读完《测之重器——自动化测试框架搭建指南》后,你将能为企业搭建出一套自己的自动化测试系统。

网上搜索到的阅读资源:http://www.51testing.com/html/71/n-3720271.html

总结:

自动化测试需要具备的主要能力:

第一,编码能力,这个是逾越不过的坎儿。说到这里可能会有朋友问难道性能测试不需要编码能力吗?答案是需要,但比起自动化测试来说门槛相对低点。其实对于一个优秀的测试工程师来说编码能力是必备的技能。

如何提升自己的编码能力也是不少朋友咨询过我的问题,真心没有什么捷径。我觉得就是要多练习多总结,我说的练习是真正的动手去做而不是看。我再苦口婆心一句:“没有不起眼的砖,没有看不到的框架,漂亮的楼房怎么能屹立不倒”。

第二,逻辑思维能力。在有了编码能力之后就能做自动化测试了吗?显然不能,因为自动化测试最终是希望建立一个框架或者平台,这是一个大工程,一定要有较强的逻辑思维能力和设计能力才行。就好比,你会焊接技术但不代表你会设计汽车啊。所以自动化测试真正的难点在于设计思想,,培养能力和思维之后再学自动化测试就容易多了。

欢迎加入  51软件测试大家庭,在这里你将获得【最新行业资讯】,【免费测试工具安装包】,【软件测试技术干货】,【面试求职技巧】... 51与你共同学习,一起成长!期待你的加入: QQ                     群:                    755431660

posted @ 2019-01-07 17:40 51testing 阅读(116) | 评论 (0) | 编辑 收藏
 
软件测试人员如何撰写简历才能提高面试邀约率?

最近后台有朋友留言问:“我应该从哪里开始准备面试?我差不多2年没收到任何邀请了。” 我想应该有很多软件测试员会遇到这样的问题,所以我总结了一些可以有效提高面试邀约率的方法,希望可以帮助行业新人,以及想要切换当前工作的测试专业人士。


首先,你需要了解有关软件测试的内容!

测试基础概念

第一个基本的东西是测试概念。你需要非常擅长这一点,特别是手动测试方法。但只知道不同的测试概念只完成了一半的工作。接下来最重要的是要知道在SDLC的哪个阶段可以应用哪种类型/技术/概念的测试。

经典定义:测试是为发现错误而执行程序的过程。

IEEE定义:使用人工或自动的手段来运行或测量软件系统的过程,以检验软件系统是否满足规定的要求,并找出与预期结果之间的差异。

软件测试所遵循的原则

1. 测试能显示缺陷的存在,但不能证明系统已经不存在缺陷。

2. 穷尽测试是不可能的,应该设定及时终止的条件。

3. 测试应该尽早进行。


4. 缺陷具有群集特性。系统的缺陷可能集中在某一小块代码的bug里。

5. 测试的杀虫剂悖论。如果一直用同一种测试案例来进行测试,那么很容易存在不同类型的bug,应该经常对系统进行评估,并用不同的案例进行测试。

6. 测试的二八原则。考虑到测试效率,应该用80%的时间精力来对20%的重要的模块进行测试。

7. 测试活动依赖于测试背景。针对金融银行方面系统的测试着重在安全性,针对通信方面系统的测试着重在系统稳定性,大数据方面。

测试工程师要“开箱即用”

测试工程师非常重要的部分是“开箱即用”。如果你不能开箱即用,相信我测试不适合你。开箱即用是什么意思?不要只遵循传统方法,在测试中实现新的东西,尝试总结自动化和常规测试工作。从用户角度思考。想想用户将如何使用你的应用程序。他可以做出哪些常见错误,或者他可以对你的申请执行哪些任务?通过这种方式,您可以深入了解任何应用程序,并有助于深入解答问题。

测试必须掌握的技能

除了“好奇心学习”之外,您还应该升级以下领域的技能:

1、基础数据库/ SQL查询和概念的一些实践。

2、一种基本的脚本语言(用于自动化测试)。

3、网络和系统管理概念将帮助您在系统中把控项目。

4、不要只编写UI测试用例,检查应用程序内部发生的情况。对于具有数据库连接的应用程序检查数据更新,检索并且在任何情况下都不应该丢失数据。

5、抓住项目。在开始测试之前了解测试中的应用程序。不要查看需求文档,而是查看体系结构文档,设计文档,序列图和活动流程图。

如何提高面试邀约率?

1. 明确的内容模块划分且每个模块内容精炼

比如常见的划分方式:个人信息(必要的)-主要经历(公司及学校)-专业技能-项目经验(详细的)。

2. 重点突出工作经历及项目经验

项目经验重点突出项目中你的职责、贡献、突出点。

这是简历的重点,也是面试最主要聊的点。

简历的写法和面试都是有技巧的:要突出你擅长的并且面试官可能感兴趣的,引面试官入瓮。

3. 用数字证明自己的能力

比如:写了多少用例,提了多少bug?App 性能提高多少、Crash 率下降多少;

为公司节省 xx 成本,效率优化多少倍;员工考评(10/1000)占比之类。

ps:运营、产品同学对数字和业绩更敏感,软件测试工程师同学可能不擅长这点,自己经常挖挖还是有好处的。

4. 格式整齐,段落有序

能用 Word 写一个排版整齐的文档,应该是互联网从业人员的基本要求,但能做到的比例真不高,就两点:排版整齐、段落有序。

5. PDF 版

Word 版在 Mac 上可能会乱,打开也会有换行符这些满屏扎眼的符号。

顺便说下:

(1) 很多招聘网站导出来的简历 Mac 上都打不开;

(2) 猎头会改你简历内容,你要确保他不会删一些东西。

6. 明确写好在校及各公司的起始年限

7. 正确书写名词(不要在小细节上丢分)

iOS 非 ios,Android 非 android,GitHub 非 Github。

正确写法:Java、App、MySQL、GitHub、SDK、JS、JSON、XML等

其实大小写有个很简单的原则,跟程序中变量命名类似,不同单词间首字母大写,不一样的是一般首字母需大写(而变量名首字母小写)。

如:

App 是 Application 缩写;

SDK 是 Software Development Kit 缩写;

iOS 是 iPhone Operating System 缩写。

8. 简历保持在两三页左右

不至于太短也不至于信息太多,项目经验太早的可省略或带过,一般面试也就聊一两个主要项目就 ok 了。

当然如果你足够牛逼,给个博客地址链接也 ok(态度貌似有点傲慢,哈哈),尽量还是重点详细介绍你的项目经验,也是自己梳理的过程。

9. 邮件标题及简单问候

邮件及简历附件标题尽量用姓名-职位-电话号码。

10. 简历常更新,常删除

收到过近十页的简历,十几年工作经验,项目一个没落,包括在校的实习经历。

ps:简历内容要精简,最重要的是最近一两家公司的经历,很多没必要的简介或是略过就行,两三页不能再多了。

总结:

获得了面试机会,就一定要做好面试前的准备,不管是技术题还是职业规划提问,从容回答。最重要的是,一定要对面试企业提前做了解,包括公司发展历程和主要的产品线。这样,在面试过程中才能更好的发挥!

欢迎加入  51软件测试大家庭,在这里你将获得【最新行业资讯】,【免费测试工具安装包】,【软件测试技术干货】,【面试求职技巧】... 51与你共同学习,一起成长!期待你的加入: QQ                     群:                    755431660

posted @ 2019-01-04 18:35 51testing 阅读(103) | 评论 (0) | 编辑 收藏
 
仅列出标题
共55页: First 10 11 12 13 14 15 16 17 18 Last