1.软件自动化测试

1.1  自动化测试的概念

  自动化测试:就是通过测试工具或其他手段,按照测试工程师的预定计划对软件产品进行自动化的测试

  软件测试自动化涉及到测试流程、测试体系、自动化编译以及自动化测试等方面和整合

局限性: 不能取代手工测试、手工测试比自动化测试发现的缺陷更多、不能用于测试周期很短的项目、不能保证100%的测试覆盖率、不能测试不稳定的软件、不能测试软件的易用性

手工测试的不可替代有:测试用例的设计、界面和用户体验测试、正确性检查

测试工具;

1.白盒测试工具:分为静态测试工具和动态测试工具

2.黑盒测试工具: 分为功能测试工具(QTP)、性能测试工具(logorunner)

3.测试管理工具

自动化测试工具的特征:

1.支持脚本化语言

2.对程序界面中对象的识别能力

3.支持函数的可重用

4.支持外部函数库

5.抽象层--将程序界面中的对象实体映射成逻辑对象

6.支持数据驱动测试

7.错误处理

8.调试器

9.源代码管理

10.支持脚本的命令行方式

自动化流程:

1.可行性分析

2.测试工具选型

3.设计测试框架

4.设计测试用例

5.开发测试脚本

6.使用测试脚本

7.维护测试资产

自动化测试脚本编写方法:

自动化测试项目也像普通的软件开发项目一样,有编码阶段,主要通过测试脚本来实现所设计的自动化测试用例,自动化功能测试脚本的开发方法主要有以下几种:

1.线性的(简单录制和回放)

2.结构化的(结构控制脚本)

3.共享的(部分公共的、普通的功能脚本独立出来)

4.数据驱动的(数据从脚本中分离出来)

5.关键字驱动的(检查点和执行操作的控制分离出来)

2.兼容性测试

2.1 兼容性测试的概念

兼容性定义:对于软件来说,兼容性是指某个软件能够稳定地工作在某个操作系统/平台之中,就说这个软件对这个操作系统/平台是兼容的;其次

在多任务操作系统中,几个同时运行的软件之间如果能够稳定的工作,就认为这几个软件之间兼容性较好,否则就是兼容性不好另外,就说软件数据的共享

几个软件之间无需复杂的转换,即可方便的共享相互之间的数据,也称为兼容

工作目标:保证软件在各种环境中都能期望的工作

兼容性测试的核心内容:

1.在不同平台上的兼容,或在同一操作系统平台的不同版本兼容

2.软件本身能否向前或向后兼容(兼容以前的版本)

3.软件测试能否与其他相关软件兼容

4.数据兼容性测试,

兼容性测试分类:

1.硬件的兼容性:与整机的兼容,与板卡及外部设备的兼容

确定软件运行的最低配置硬件和环境

2.软件兼容性: 操作系统/平台兼容性;数据库兼容性;浏览器兼容性;应用软件之间的兼容

3.数据兼容性: 不同格式数据兼容性;数据共享兼容

标准和规范:

1.高级标准和规范: 指软件产品应当遵循的形式化标准,包括外形、感觉和外特性等

兼容性测试工具:

1.Superpreview

微软自己发布的跨浏览器测试工具,可以同时查看你的网页在多个浏览器的呈现情况,对页面排版进行直观的比较

2.BrowserShots

跨浏览器测试工具,捕捉网站在不同浏览器中的截图

3.Browsercam

付费,可以帮助检查Javascript 和DHTML,提供不同的测试环境平台

4. Litmus

帮助检查你的网站在多个浏览器中的程序情况,跟踪Bug并创建报告

5.BrowserSeal

这款工具的两个主要特色是独立的浏览器支持和带有自动化脚本的命令行界面

6.WebDevLab

这款工具专门用于测试你的网站在苹果Safari浏览器中是什么样子

7.BrowserSeal

这款工具的两个特色是独立的浏览器支持和带有自动化脚本的命令行界面

3.WEB测试

Web系统可以被看成是一个使用方便、接收全局访问、具有图形化界面的大的数据库前端。一般采用 B/S 架构,其结构图如下:

WEB系统综合了大量的新技术,注入HTML , JAVA JavaScript ,VBScript, Link ,Database ,Nework 等,其测试过程比较复杂

主要测试类型:功能和性能、兼容性、安全性和可用性、界面测试等方面的测试

 1.用户界面测试

导航测试:

帮助用户来找到想要的信息和了解界面

图形测试:

美化和广告宣传,

内容测试:

信息的准确性,正确性和相关性

整体界面测试:

整体感

2.功能测试

1.链接测试:

2.表单测试:

3. Cookies 测试:

Cookies 是一种能够让网站服务器把少量数据存储到客户端的硬盘或内存,Cookies通常用来存储用户信息和用户在某些应用系统的操作,

如用户ID、密码、浏览过的网页、停留的时间等信息。当用户下次再来到该网站时,网站通过读取Cookies,得知用户的相关信息,从而做出相应的动作

4..Database测试

数据库在Web应用技术中起着重要的作用,为Web应用系统的管理、运行、查询和实现用户对数据存储的请求等提供空间。在Web应用中,最常用的数据库类型是关系型数据库,可以使用SQL对信息镜像处理

一般会出现两种错误,数据一致性错误和输出错误。

3.性能测试

1.连接测试

2.压力测试

压力测试是在强负载(大量数据、大量并发用户等)下的测试,检查应用系统在峰值使用情况下操作行为,从而有效地发现系统的某项功能缺陷、系统是否具有良好的容错能力

和可恢复能力。压力测试分为高负载下的长时间(如24小时以上)的稳定性压力测试和极限负载情况下导致系统崩溃的破坏性压力测试

3.负载测试

负载测试是模拟实际软件系统 所承受的负载条件的系统负荷,通过不断加载(如逐渐增加模拟用户的数量)或其他加载方式来观察不同负载下系统的响应时间和数据吞吐量、

系统占用的资源(如CPU、内存)等,以检验系统的行为和特性,以发现系统可能存在的性能瓶颈、内存泄漏、不能实时同步等问题

4. 兼容性测试

1.平台兼容性测试

2.浏览器测试

3.分辨率兼容性

4.组合兼容性

5.安全性测试

安全测试是检验在系统中已存在的系统安全性保密措施是否发挥作用,主要包括:

1.目录设置

2.SSL(Secure Socket Layer)

3.登录

4.日志文件

5.脚本语言

4.性能测试与LoadRunner安装

性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件对系统的各项性能指标进行测试

具体的类型有:

 1.负载测试:合适在保持配置不变的情况下,测试对象在不同操作条件(如不同用户数、事务数等)下性能行为的可接受性

2.压力测试:通过确定一个系统的瓶颈或者不能接受的性能点,来获得系统能提供的最大服务级别的测试

 3.容量测试:确定系统最大承受量,比如系统最大用户数、最大存储量、最多处理的 数据流量等

LoadRunner是一种预测系统行为和性能的负载测试工具。通过模拟上千万用户实施并发负载及实时性能检测的方式来确认和查找问题,LoadRunner能够对整个企业架构进行测试

LoadRunner 的主要组件:

1. Virtual User Generator: 用于捕捉最终用户业务路程和创建自动性能测试脚本(也称为虚拟用户脚本)

2.Controller: 用于组织、驱动、、管理和监控负载测试

3.Analysis: 有助于查看、分析和比较性能结果

LosdRunner主目录:

1.Create/Edit Scripts 用于创建/编辑脚本

1.  recording 记录

2. Verification   验证

3.Enhancements   增强功能

4.Propare for load  负载保护

5.finish   完成

6.General    一般的

2.Run load tests  用于运行负载测试

3.Run load tests   分析测试结果(根据脚本生成图)

八.软件自动化和web测试的更多相关文章

  1. 浩若烟海事半功倍|利用Docker容器技术构建自动化分布式web测试集群Selenium Grid

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_195 "世界上有那么多城市,城市里有那么多的酒馆,可她,却偏偏走进了我的-",这是电影<卡萨布拉卡> ...

  2. 软件测试之WEB测试经典总结

    在Web工程过程中,基于Web系统的测试.确认和验收是一项重要而富有挑战性的工作.基于Web的系统测试与传统的软件测试不同,它不但需要检查和验证是否按照设计的要求运行,而且还要测试系统在不同用户的浏览 ...

  3. [转载]软件测试之Web测试经典总结

    转载自:软件测试之Web测试经典总结 基于Web的系统测试在基于Web的系统开发中,如果缺乏严格的过程,我们在开发.发布.实施和维护Web的过程中,可能就会碰到一些严重的问题,失败的可能性很大.而且, ...

  4. 微软开源的Web测试和自动化神器 Playwright

    Playwright 是微软开源的一个用于 Web 测试和自动化的框架, 提供了可靠的端到端测试, 功能非常强大, 可以在测试, 爬虫,自动化场景中使用. 跨浏览器 Playwright 支持所有现代 ...

  5. Web测试的常用测试用例与知识

    1. Web测试中关于登录的测试 2. 搜索功能测试用例设计 3. 翻页功能测试用例 4. 输入框的测试 5. Web测试的常用的检查点 6. 用户及权限管理功能常规测试方法 7. Web测试之兼容性 ...

  6. web测试常用的用例及知识

      1.      Web测试中关于登录的测试... 1 2.      搜索功能测试用例设计... 2 3.      翻页功能测试用例... 3 4.      输入框的测试... 5 5.    ...

  7. 【前端福利】用grunt搭建自动化的web前端开发环境-完整教程

    jQuery在使用grunt,bootstrap在使用grunt,百度UEditor在使用grunt,你没有理由不学.不用! 1. 前言 各位web前端开发人员,如果你现在还不知道grunt或者听说过 ...

  8. 转:【前端福利】用grunt搭建自动化的web前端开发环境-完整教程

    原文地址:http://blog.csdn.net/wangfupeng1988/article/details/46418203 jQuery在使用grunt,bootstrap在使用grunt,百 ...

  9. 用grunt搭建自动化的web前端开发环境-完整教程

    原稿:http://www.cnblogs.com/wangfupeng1988/p/4561993.html#!comments jQuery在使用grunt,bootstrap在使用grunt,百 ...

随机推荐

  1. 可变lambda, lambda使用mutable关键字

    关于lambda的捕获和调用 C++ primer上对可变lambda举的例子如下: size_t v1=42; auto f=[v1] () mutable{return ++v1; }; v1=0 ...

  2. LOJ 2085: 洛谷 P1587: bzoj 4652: 「NOI2016」循环之美

    题目传送门:LOJ #2085. 两个月之前做的傻题,还是有必要补一下博客. 题意简述: 求分子为不超过 \(n\) 的正整数,分母为不超过 \(m\) 的正整数的所有互不相等的分数中,有多少在 \( ...

  3. tf–idf算法解释及其python代码

    tf–idf算法python代码实现 这是我写的一个tf-idf的简单实现的代码,我们知道tfidf=tf*idf,所以可以分别计算tf和idf值在相乘,首先我们创建一个简单的语料库,作为例子,只有四 ...

  4. 2016 ACM/ICPC亚洲区沈阳站

    A B C D E F G H I J K L M O O O $\varnothing$ $\varnothing$   $\varnothing$ $\varnothing$ $\varnothi ...

  5. three.js 居中-组

    原文:https://blog.csdn.net/qq_30100043/article/details/78921224 代码: <!DOCTYPE html> <html lan ...

  6. selenium--更改标签的属性值

    前戏 在进行web自动化的时候,我们有时需要获取元素的属性,有时需要添加,有时需要删除,这时候就要通过js来进行操作了 实战 from selenium import webdriver import ...

  7. django -- ORM实现图书增删改查

    表结构设计 上篇我们实现了出版社的增删改查,出版社数据表有两个字段id和name,那图书的表结构怎么设计呢?图书也要有一个主键id,还要有一个名称title,是哪个出版社的,要有个字段press和Pr ...

  8. 回溯法 | 图的m着色问题

    学习链接:算法 图的M着色问题 虽然今早9点才醒来,10点才来教室,但是coding得很高效.吃个早餐,拉个粑粑的时间,就把算法书上的[图的m着色]问题看明白了,大脑里也形成了解决问题的框架. 其实这 ...

  9. 4.28(TG模拟赛)总结

    1.挖地雷 题目背景 NOIp1996提高组第三题 题目描述 在一个地图上有N个地窖(N≤20),每个地窖中埋有一定数量的地雷.同时,给出地窖之间的连接路径.当地窖及其连接的数据给出之后,某人可以从任 ...

  10. Java 并发系列之九:java 原子操作类Atomic(13个)

    1. 原子更新基本类型类 2. 原子更新数组 3. 原子更新引用 4. 原子更新属性 5. txt java 原子操作类Atomic 概述 java.util.concurrent.atomic里的原 ...