给一个web网站,如何开展测试?

devtools/2024/11/14 12:54:17/

前言

Web测试是指针对Web应用程序(网站或基于Web的系统)进行的测试活动,以确保其质量、性能、安全性、可用性和兼容性等方面符合预期标准。Web测试涵盖了从前端用户界面(UI)到后端逻辑和数据库的各个方面,确保Web应用程序在不同环境和条件下都能正常运行。

Web端的测试主要可以从以下几个方面进行开展:

一、Web 功能测试

1、链接测试

链接是web应用系统的一个主要特征,他是在页面之间切换和指导用户去一些不知道地址的页面主要手段。链接测试可分为三个方面:

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

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

3)保证web应用上没有孤立的页面,所谓孤立页面是指没有链接指向该页面,只有知道正确的URL地址才能访问

2、表单测试

当用户通过表单提交信息的时候,都希望表单能正常工作,若使用表单来进行在线注册,要确保提交按钮正常,注册完成后应返回注册成功的消息。

1)当用户使用表单进行用户注册、登陆、信息提交等操作时,我们必须测试提交内容的完整性,以校验提交给服务器的信息的正确性。

例如:用户填写的手机号码和昵称是否满足需求中长度及类型组成要求

2)如果表单使用了默认值,需要验证默认值得正确性

3)如果表单只能接受指定的某些值,则也要进行测试

例如:性别选择只能男、女,测试时可以跳过这些特定值,看系统是否会报错。

3.数据校对

如果系统根据业务规则需要对用户输入进行校验,需要保证这些校验功能正常工作。

例如省份的字段可以用一个有效列表进行校验,在这种情况下,需要验证列表完整而且程序正确调用了该列表(例如在列表中添加一个测试值,确定系统能够接受这个测试值)。

在测试表单时,该项测试和表单测试可能会有一些重复。

Cookies通常用来存储用户信息和用户在某应用系统的操作,当一个用户使用Cokies访问了某一个应用系统时,Web服务器将发送关于用户的信息,把该信息以Cookies的形式存储在客户端计算机上,这可用来创建动态和自定义页面或者存储登陆等信息。

如果 Web应用系统使用了Cookies,就必须检查Cookies是否能正常工作。测试的内容可包括:

1)Cookeis是否起作用,是否按预定的时间进行保存,刷新对Cookies有什么影响等。

2)如果在cookies 中保存了注册信息,请确认该cookie 能够正常工作而且已对这些信息已经加密。

3)如果使用 cookie来统计次数,需要验证次数累计正确。

4.数据库测试

在Web应用技术中,数据库起着重要的作用,数据库为Web应用系统的管理、运行、查询和实现用户对数据存储的请求等提供空间。

在Web应用中,最常用的数据库类型是关系型数据库,可以使用SQL对信息进行处理。

在使用了数据库的Web应用系统中,一般情况下,从以下两方面进行测试:

1)对数据一 致性进行测试, 主要是用户 提交的表单信息存储到数据库后 各字段值是否一致。

2)对输出进行测试,主要是验证从数据库查询后显示在界面的数据信息是否正确。例如12306网站的余票信息。

5.流程测试

最重要的是,测试人员需要对应用程序用户常见使用场景进行测试。

尝试用户可能进行的所有操作:新增、修改、删除、查询等等。

例如购物网站测试,需要进行注册用户(新增)、浏览商品(查询)、加入购物车下订单(新增)、删除订单(删除)、在线支付等等。

二、Web界面测试

界面测试可以直接参考原型图和切图设计进行界面核对。有几个常见的部分如下:

1.导航测试

导航描述了用户在一个页面内操作的方式,在不同的用户接口控制之间。

例如:按钮、对话框、列表和窗口等;或在不同的连接页面之间。

通过考虑下列问题,可以决定一个Web应用系统是否易于导航:导航是否直观?Web系统的主要部分是否可通过主页存取?Web系统是否需要站点地图、搜索引擎或其他的导航帮助?

导航的另一个重要方面是Web应用系统的页面结构、导航、菜单、连接的风格是诸存储登否一致。确保用户凭直觉就知道Web应用系统里面是否还有内容,内容在什么地方。

2.图形测试

在Web应用系统中,适当的图片和动画既能起到广告宣传的作用,又能起到美化页面的功能。

一个Web应用系统的图形可以包括图片、动画、边框、颜色、字体、背景、按钮等。

图形测试的内容有:

1)要确保图形有明确的用途,图片或动画不要胡乱地堆在一起,以免浪费传输时间。

Web应用系统的图片尺寸要尽量地小,并且要能清楚地说明某件事情,一般都链接到某个具体的页面。

2)验证所有页面字体的风格是否一致。

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

4)图片的大小和质量也是一个很重要的因素,一般采用JPG或GIF压缩,最好能使图片的大小减小到30k以下。

5)需要验证的是文字回绕是否正确。如果说明文字指向右边的图片,应该确保该段图片出现在右边。不要因为使用图片而使窗口和段落排列古怪或者出现孤行。

3.表格测试

1)需要验证表格是否设置正确。

2)用户是否需要向右滚动页面才能看见产品的价格?细节放在右边是否更有效?

3)每一栏的宽度是否是够宽, 表格里的文字是否都有折行?是否有因为某一格的内容太多,而将整行的内容拉长?

4.整体界面测试

整体界面是指整个Web应用系统的页面结构设计,是给用户的一个整体感。

例如:当用户浏览Web应用系统时是否感到舒适,是否凭直觉就知道我要找的信息在什么地方?整个Web应用系统的设计风格是否一致?

三、Web性能测试

性能测试在该章节不做深入分析,只做大致整理。

1.连接速度测试

用户连接到Web应用系统的速度根据上网方式的变化而变化,他们或许是电话拨号,或是宽带上网。

当下载一个程序时,用户可以等较长的时间,但如果仅仅访问一个页面,若响应时间太长(例如超过5秒钟),用户就会因没有耐心等待而离开。

另外,有些页面有超时的限制,如果响应速度太慢,用户可能还没来得及浏览内容,就需要重新登陆了。而且,连接速度太慢,还可能引起数据丢失,使用户得不到真实的页面。

对于响应时间,业间遵循2-5-8原则。

2.负载压力测试

在这里的负载\压力和功能测试中的不同,他是系统测试的内容。

基本功能已经通过后进行的,可以在集成测试阶段,亦可以在系统测试阶段进行。

通过该项测试用以检测死机、崩损、内存泄漏问题等。因为有些存在内存泄漏问题的程序,在运行一两次时可能不会出现问题,但是如果运行了成千上万次,内存泄漏得越来越多,就会导致系统崩滑。

使用负载测试工具loadrunner、Jmeter 等,虚拟一定数量的用户看一看系统的表现,是否满足定义中的指标。主要的测试场最如下:

1)验证系统能否在同一时间响应大量的用户。

2)在用户传送大量数据的时候系统能否正常响应。

3) 正并负载情况下,系统能否长时间运行。

可访问性对用户来说是极其重要的。如果用户得到“系统忙”的信息,他们可能放弃:并转向竞争对手。

系统检测不仅要使用户能够正常访问站点,在很多情况下,可能会有黑客试图通过发送大量数据包来攻击服务器。

出于安全的原因,测试人员应法知道当系统过载时,需要采取哪些措施,而不是简单地提升系统性能。

四、Web 兼容性测试

兼容性,因为是基于效览器的,所以一般还是以常用浏览器兼容性测试为主。

1.平台测试

市场上有很多不同的操作系统类型,最常见的有Windows、Unix、Macintosh、Linux等。

Web应用系统的最终用户究竞使用哪一种操作系统,取决于用户系统的配置。这样,就可能会发生兼容性问题,同一个应用可能在某些操作系统下能正常运行,但在另外的操作系统下可能会运行失败。

因此,在Web系统发布之前,需要在各种操作系统下对Web系统进行兼容性测试。

2.浏览器测试

浏览器的兼容一般是选择不同的浏览器内核进行测试(IE、 chrome、Firefox)再结合用户市场使用量高的浏览器来综合选择。

不同浏览器使用内核及所支持的HTML (标准通用标记语言下的一个应用)等网页语言标准不同;以及用户客户端的环境不同(如分辨率不同)造成的显示效果不能达到理想效果。

最常见的问题就是网页元素位置混乱、错位。主要测式内容如下:

1)页面的格式,字体,输入框,下拉框,复选框, 按钮等的检查;

2)页面显示穿插在功能进行中检查。

3. 分辨率测试

页面版式在640x400、600x800或1024x768 的分辨率模式下是否显示正常?字体是否太小以至于无法洳览?或者是太大?文本和图片是否对齐?

五、Web的安全测试

主要是测试系统在没有授权的情况下,内部或者外部用户对系统进行攻击或者恶意破坏时如何进行处理,是否仍能保证数据的安全。

测试员可以学习一些黑客技术,来对系统进行攻击。这里不做深入分析,只做大致整理。

1.目录设置

Web安全的第一步就是正确设置目录。每个目录下应该有index.html 或main.html页面,这样就不会显示该目录下的所有内容。

有些公司没有执行这条规则。大家可以尝试选中一幅图片,单击鼠标右键,找到该图片所在的路径“....com/objects/images”。然后在浏览器地址栏中手工输入该路径,会不会发现该站点的其他信息。例如保存过期页面记录信息。

很多站点使用SSL进行安全传送。你知道你进入一个SSL站点是因为浏览器出现了警告消息,而且在地址栏中的HTTP变成HTTPS。

如果开发部门使用了SSL,测试人员需要确定是否有相应的替代页面(适用于3.0以下版本的浏览器,这些浏览器不支持SSL)。

当用户进入或离开安全站点的时候,请确认有相应的提示信息。是否有连接时间限制?超过限制时间后出现什么情况?

2.登录

有些站点需要用户进行登录,以验证他们的身份。这样对用户是方便的,他们不需要每次都输入个人资料。

你需要验证系统阻止非法的用户名/口令登录,而能够通过有效登录。

1)用户登录是否有次数限制?

2)是否限制从某些IP 地址登录?

3)如果允许登录失败的次数为3,在第三次登录的时候输入正确的用户名和口令, 能通过验证吗?

4)口令选择有规则限制吗?

5)是否可以不登陆而直接浏览某个页面?

6)Web应用系统是否有超时的限制,也就是说,用户登陆后在一定时间内(例如15分钟)没有点击任何页面,是否需要重新登陆才能正常使用。

3.日志文件

在后台,要注意验证服务器日志工作正常。

1)日志是否记所有的事务处理?

2)是否记录失败、错误的页面请求?

3)是否在每次事务完成的时候都进行保存?记录IP地址吗?记录用户名吗?

4.脚本语言

脚本语言是常见的安全隐患。每种语言的细节有所不同。有些脚本允许访问根目录,其他只允许访问邮件服务器。但是经验丰富的黑客可以将服务器用户名和口令发送给他们自己。找出站点使用了哪些脚本语言,并研究该语言的缺陷。还要需要测试没有经过授权,就不能在服务器端放置和编辑脚本的问题。

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走! 

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。


http://www.ppmy.cn/devtools/114186.html

相关文章

【算法】队列与BFS

【ps】本篇有 4 道 leetcode OJ。 目录 一、算法简介 二、相关例题 1)N 叉树的层序遍历 .1- 题目解析 .2- 代码编写 2)二叉树的锯齿形层序遍历 .1- 题目解析 .2- 代码编写 3)二叉树最大宽度 .1- 题目解析 .2- 代码编写 4&#xf…

nanoGPT用红楼梦数据从头训练babyGPT-12.32M实现任意问答

1. 引入 大神karpathy从openai离职后,创办了AI教育公司Eureka Labs(参考1),同时也创办了知名的nanoGPT项目。 目前,使用nanoGPT(参考2),你可以在几分钟内训练出一个babyGPT&#xf…

python如何实现堆栈

栈的特点是后进先出,最先进入栈的数据放到栈底,最后一个出来,而最后进的数据反而有机会先出来。 python实现栈的思路是如果要在栈里添加元素,直接用append添加元素就可以了,直接在列表末位添加。从栈中取出元素&#…

python 虚拟环境多种创建方式

【一】说明介绍 (1)什么是虚拟环境 在Python中,虚拟环境(Virtual Environment)是一个独立的、隔离的Python运行环境,它拥有自己的Python解释器、第三方库和应用程序。通过创建虚拟环境,可以确…

【数据结构】排序算法---冒泡排序

文章目录 1. 定义2. 算法步骤3. 动图演示4. 性质5. 算法分析6. 代码实现C语言PythonJavaCGo 结语 1. 定义 冒泡排序(英语:Bubble sort)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果它们的…

letterSpacing导致TextView文本被截断

一.背景介绍 (Android10 11目前有这个问题 Android15似乎有新的属性 但是没有可用的环境 没有验证) 简介 android:maxLines"1" android:textAlignment"viewStart" android:letterSpacing"0.04" 多个属性同时作用情况下 …

python学习第十节:爬虫基于requests库的方法

python学习第十节:爬虫基于requests库的方法 requests模块的作用: 发送http请求,获取响应数据,requests 库是一个原生的 HTTP 库,比 urllib 库更为容易使用。requests 库发送原生的 HTTP 1.1 请求,无需手动…

门磁模块详解(防盗感应开关 STM32)

目录 一、介绍 二、程序设计 main.c文件 gate_guard.h文件 gate_guard.c文件 三、实验效果 四、资料获取 项目分享 一、介绍 MC-38常闭式门磁开关是作为IO开关输入数字信号的,原理是合在一起信号是导通的 , 配合有线主机使用 不能单独使用。适用于非铁质&a…