第一章 Slenium2-Java 自动化测试基础
都是一些最基础的知识点。
一:软件测试分类
1)单元测试:单元测试(或模块测试)是对程序中的单个子程序或具有独立功能的代码段进行测试的过程。
2)集成测试:集成测试是在单元测试的基础上,先通过单元模块组装成系统或子系统,再进行测试。重点是检查模块之间的接口是否正确。
3)系统测试:系统测试是针对整个产品系统进行的测试,验证系统是否满足需求规格的定义,以及软件系统的正确性和性能等是否满足其需求规格的要求。
4)验收测试:验收测试是部署软件之前的最后一个测试阶段。验收测试的目的是确保软件准备就绪,向软件购买者展示该软件系统能够满足用户的需求。

1)黑盒测试。
黑盒测试,指的是把被测的软件看作一个黑盒子,我们不去关心盒子里面的结构是什么样子的,只关心软件的输入数据和输出结果。(黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。)
2)白盒测试。
白盒测试,指的是把盒子打开,去研究里面的源代码和程序执行结果。(检验程序中的每条逻辑路径是否都能按预定要求正确工作。)
3)灰盒测试。
灰盒测试介于黑盒测试与白盒测试之间。(既关注输出对于输入的正确性,同时也关注内部表现。)
功能测试与性能测试
1)功能测试。(逻辑功能测试、界面测试、易用性测试、安装测试、兼容性测试等。)
2)性能测试。(时间性能和空间性)
手工测试与自动化测试
2)自动化测试。(功能自动化测试与性能自动化测试)
功能自动化测试:它是把以人为驱动的测试行为转化为机器执行的一种过程。通过测试工具(或框架)录制/编写测试脚本,对软件的功能进行测试,并验证测试结果是否正确,从而代替部分的手工测试工作,达到节约人力成本和时间成本的目的。
性能自动化测试:通过性能工具来模拟成千上万的虚拟用户向系统发送请求,从而来验证系统的处理能力。从而来验证系统的处理能力。
二:分层的自动化测试

单元自动化测试 (单元测试是指对软件中的最小可测试单元进行检查和验证。)
接口自动化测试 (模块接口测试和Web接口测试。)
(1)模块接口测试,主要测试模块之间的调用与返回。
(2)Web接口测试又可分为两类:服务器接口测试和外部接口测试。
·服务器接口测试:指测试浏览器与服务器的接口。
·外部接口测试:指调用的接口由第三方系统提供。(第三方登录)
(接口测试也有相应的类库或工具,例如测试HTTP的有HttpUnit、Postman等。)
UI自动化测试
UI层是用户使用该产品的入口,所有功能都通过这一层提供并展示给用户,所以大多测试工作都集中在这一层进行。(目前主流的测试工具有UFT、Watir、Robot Framework、Selenium等。)
三:什么样的项目适合自动化测试
1)软件需求变动不频繁。
2)项目周期较长。
3)自动化测试脚本可重复使用。
四:自动化测试及工具的简述
1)UFT。
UFT(全称Unified Functional Testing)由QTP(Quick Test Professional software)与ST(Service Test)合并而来,由HP公司开发。它是一种企业级的自动测试工具,提供了强大易用的录制回放功能,同时兼容对象识别模式与图像识别模式两种识别方式,支持B/S 与C/S 两种架构的软件测试,是目前主流的自动化测试工具。
2)Robot Framework。
Robot Framework是一款基于Python语言编写的自动化测试框架,具备良好的可扩展性,支持关键字驱动,可以同时测试多种类型的客户端或者接口,可以进行分布式测试。
3)Watir。
Watir全称是“Web Application Testing in Ruby”,是一种基于Web模式的自动化功能测试工具。Watir是一个Ruby语言库,使用Ruby 语言进行脚本开发。
4)Selenium。
Selenium也是一个用于Web应用程序测试的工具,支持多平台、多浏览器、多语言去实现自动化测试。目前在Web自动化领域应用越来越广泛。
第一章 Slenium2-Java 自动化测试基础的更多相关文章
- 编写高质量代码:改善Java程序的151个建议(第一章:JAVA开发中通用的方法和准则)
编写高质量代码:改善Java程序的151个建议(第一章:JAVA开发中通用的方法和准则) 目录 建议1: 不要在常量和变量中出现易混淆的字母 建议2: 莫让常量蜕变成变量 建议3: 三元操作符的类型务 ...
- 16第一章 ASP.Net编程基础知识
第一章 ASP.Net编程基础知识 第一章 ASP.Net编程基础知识 本章首先介绍用ASP.Net技术编制服务器端动态网页所需的网络和HTML标记语言方面的有关知识.然后 ...
- Java 面向对象编程——第一章 初识Java
第一章 初识Java 1. 什么是Java? Java是一种简单的.面向对象的.分布式的.解释的.安全的.可移植的.性能优异的多线程语言.它以其强安全性.平台无关性.硬件结构无关性.语言简 ...
- Java 学习笔记 第一章:Java语言开发环境搭建
第一章:Java语言开发环境搭建 第二章:常量.变量和数据类型 第三章:数据类型转换.运算符和方法入门 1.Java虚拟机——JVM JVM(Java Virtual Machine ):Java虚拟 ...
- 大道至简第一章读后感JAVA伪代码形式
观看了<大道至简>第一章后,从愚公移山的故事中可以发现愚公移山其实可以看作是一个一个项目,下面用JAVA伪代码形式编写: Import java(愚公移山) //愚公移山 public c ...
- 大道至简第一章读后感——java伪代码形式
大道至简这本书第一章在向读者展示编程的精义.开篇以愚公移山的例子来描述软件工程项目.愚公,作为一名工程名家,集项目组织者.团队经理.编程人员.技术分析师于一身,来领导工程的进行.下面我们来看看这个项目 ...
- Java 第一章 初识Java
第一章笔记 什么是计算机程序:算机为完成某些功能生产的一系列有序指令集合 Java技术包括: java SE:标准版 java EE:企业版 Java ME:移动版 开发Java程序步骤:1.编写 2 ...
- 大道至简第一章读后感 Java伪代码形式
观看了大道至简的第一章之后,从愚公移山的故事中我们可以抽象出一个项目, 下面用Java 伪代码的形式来进行编写: import java(愚公移山的故事) //愚公移山 public class yu ...
- 《大道至简》第一章读后感Java伪代码
在<大道至简>第一章中,周爱民先生引用一则<愚公移山>的寓言,引出了编程的根本:顺序.选择.循环.“愚公移山”的工程虽然庞大,但是可以通过极其简单的变成来完成.我身边的有一些人 ...
- JAVA基础第一章-初识java
业内经常说的一句话是不要重复造轮子,但是有时候,只有自己造一个轮子了,才会深刻明白什么样的轮子适合山路,什么样的轮子适合平地! 从今天开始,我将会持续更新java基础知识,欢迎关注. java的诞生 ...
随机推荐
- Python Django Learning Notes..
The first time I came across django was last month.. Since then I was considering it as the better c ...
- CI 框架 hooks 的调用方法
流程:在hooks中写一个类 , 在system/core/CodeIgniter.php 判断什么时候执行 hooks中的类 涉及到了php反射获取类 方法 方法中的注释 ...
- contentHorizontalAlignment 属性浅析
转载自:http://blog.csdn.net/s0228g0228/article/details/46832285 最近在iOS 7以上总是碰到导航条上左右按钮距离边距太大的问题 为了解决这个这 ...
- Android手机图片适配问题
需求:今天在做ListView的时候遇到一个问题,就是ListView中加载图片的时候.有些图片的大小比较大,所以会出现图片显示不充分的问题. 首先,再不做任何处理的情况下,大小是这样的.宽度是Wra ...
- 2015年5月9日 student information management system
/*大作业SIMS*///头文件 #ifndef __FUNC_C__ #define __FUNC_C__ #include <stdio.h> #include <stdlib. ...
- System services not available to Activities before onCreate()
应用中涉及到系统的mac地址获取,应该是不能够在oncreate()以前使用
- 偶然发现www.ghostdogtattoo.com/ 出现的inner.html转换现象
<script language="javascript">window["\x65\x76\x61\x6c"](function(sqhiu1,v ...
- 判断浏览器增加标签 encodeURIComponent
var Sys = {}; var ua = navigator.userAgent.toLowerCase(); var s; var lx; (s = ua.match(/msie ([\d.]+ ...
- python插入mysql新值
#Server Connection to MySQL: import MySQLdb conn = MySQLdb.connect(host= "localhost", user ...
- AngularJS数据建模(转载)
出处不明 我们知道,AngularJS并没有自带立等可用的数据建模方案.而是以相当抽象的方式,让我们在controller中使用JSON数据作为模 型.但是随着时间的推移和项目的成长,我意识到这种建模 ...