当前位置:首页 » 网页前端 » web测试项目
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

web测试项目

发布时间: 2022-02-17 02:19:02

‘壹’ Web项目测试实战的介绍

《Web项目测试实战(含1DVD)》贯穿了一个实际的项目案例,从需求调研开始,直至性能测试结束,详细地剖析了软件测试工作的实施流程及过程中所使用的技术。特别适合对软件项目测试缺乏了解的大学生和从业人员,对于想进身为软件测试项目经理的专业人员也是一本很好的参考书。

‘贰’ app测试和web测试的区别, web测试和app测试的区别

一、测试方式不同

1、app测试:指对移动应用进行测试,包括自动化测试和人工测试等。

2、web测试:是软件测试的一部分,是针对Web应用的一类测试。

二、测试内容不同

1、app测试:模拟用户操作对应用程序进行黑盒测试,并使用Cucumber作为自然语言来编写测试用例。还会对应用测试操作进行记录,以帮助开发者进行测试回顾。

2、web测试:包括内容测试、界面测试、功能测试、性能测试、兼容性测试、安全性测试等。


三、特点不同

1、app测试:可通过增加预先测试环节来确认环境已经测试就绪,同时还能知道哪些错误是环境不稳定引起的,哪些是一般的测试用例错误。

2、web测试:通过测试可以尽可能地多发现浏览器端和服务器端程序中的错误并及时加以修正,以保证应用的质量。


‘叁’ Web测试的主要内容和测试方法有哪些

1功能测试 2 1.1链接测试 2 1.2表单测试 2 1.3数据校验 3 1.4 cookies测试 3
1功能测试 2
1.1链接测试 2
1.2表单测试 2
1.3数据校验 3
1.4 cookies测试 3
1.5数据库测试 3
1.6应用程序特定的功能需求 4
1.7设计语言测试 4
2性能测试 4
2.1连接速度测试 4
2.2负载测试 4
2.3压力测试 5
3用户界面测试 6
3.1导航测试 6
3.2图形测试 6
3.3内容测试 7
3.4表格测试 7
3.5整体界面测试 7
4兼容性测试 8
4.1平台测试 8
4.2浏览器测试 8
4.3分辨率测试 8
4.4 Modem/连接速率 9
4.5打印机 9
4.6组合测试 9
5安全测试 9
5.1目录设置 9
5.2登录 10
5.3日志文件 10
5.4脚本语言 10
6接口测试 10
6.1服务器接口 10
6.2外部接口 11
6.3错误处理 11
7结论 11
在Web工程过程中,基于Web系统的测试、确认和验收是一项重要而富有挑战性的工作。基于Web的系统测试与传统的软件测试不同,它不但需要检查和验证是否按照设计的要求运行,而且还要测试系统在不同用户的浏览器端的显示是否合适。重要的是,还要从最终用户的角度进行安全性和可用性测试。然而,Internet和Web媒体的不可预见性使测试基于Web的系统变得困难。因此,我们必须为测试和评估复杂的基于Web的系统研究新的方法和技术

‘肆’ 怎样搭建web项目测试环境

测试环境的搭建是一名合格QA必须具备的技能。下面,结合CI和CD两种不同软件生产实践,总结一下如何从零开始部署一套web集成测试环境。
1.服务器准备。根据项目和使用的中间件的规模,准备好一个或多个资源配置能够满足要求的服务器,一般选用linux下 centos的某个发行版作为服务器。
2.安装数据库、完成数据库表的建立。这里以开源的mysql为例。
Yum方式安装msyql,并启动mysql服务。(Yum的安装可以参考http://blog.csdn.net/iamhuanggua/article/details/60140867)
yuminstall -y mysql-server mysql mysql-devel
创建数据库和建表。规范的的系统,一般都保留有现成的SQL脚本,执行脚本就可以完成数据库和表的建立。
3.安装和配置JDK、tomcat、nginx…
安装JDK。Yum 方式安装最新版JDK:yum install JDK。
安装tomcat。官网下载tomcat,解压。
wget http://apache.fayea.com/tomcat/tomcat-7/v7.0.75/bin/apache-tomcat-7.0.75-linux-x64.zip
安装和配置 nginx。官网下载nginx,解压后,修改conf/nginx.conf配置请求转发规则。
4.安装持续集成工具jenkins.
Jenkins就是一个web服务,只需要从官方下载jenkins的war包,部署到web容器tomcat的webapp目录下,启动tomcat服务,就可以在浏览器端输入IP和端口号(例如:部署在本机上可以通过 localhost:8080/jenkins 进行访问)使用了。
5.配置一个Jenkins job用于编译、打包产品、部署到测试环境
5.1 配置job完成编译和打包。编译打包的Jenkinsjob的配置比较简单,可以自行网络。
5.2 在部署web服务的机器上,找一个目录,写一个shell脚本,拷贝jenkins job打出来的包到web服务器的部署目录下,并重启服务。如果部署jenkins 和部署web服务的机器不是同一台,需要通过用户名密码或者建立linux机器之间的信任关系后,通过scp远程拷贝。
5.3 在5.1的job中,增加“构建后操作”,构建后执行(或远程执行)5.2中编写的sh脚本。
6.配置一个或多个Jenkins job 用来完成一系列测试(包括但不限于UI自动化、接口自动化、安全测试等)
测试job的构建方式选择步骤五中配置的job完成后触发。到此为此,持续集成的工作就完成了。
7.从CI到CD——配置一个Jenkins ob 完成生产环境部署
如果所在组织的持续集成能力较高,在实施持续部署(Continous Deployment),就还需要配置一个jenkins job在所有测试job都通过后触发部署生产包到生产环境。部分用户群较大的产品还需要配置灰度发布。

‘伍’ Web测试的主要内容和测试方法有哪些


测试分类:


1、界面测试

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

2)各控件的功能

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)多浏览器验证

3、性能测试

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

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

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

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

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

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

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

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

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

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

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

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

4、可用性测试(接口测试)

1)整体界面测试

2)多媒体测试

3)导航测试

5、客户端兼容性

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

浏览器测试:不同厂商的浏览器对Java、Javascript、ActiveX、plug-ins或不同的HTML的规格

不同的支持;框架和层次结构在不同浏览器也不同的显示

6、安全性

安全性测试要求:

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

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

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

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

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



web的性能测试工具:



随着Web2.0技术的迅速发展,许多公司都开发了一些基于Web的网站服务,通常在设计开发Web应用系统的时候很难模拟出大量用户同时访问系统的实际情况。

因此,当Web网站遇到访问高峰时,容易发生服务器响应速度变慢甚至服务中断。

为了避免这种情况,需要一种能够真实模拟大量用户访问Web应用系统的性能测试工具进行压力测试,来测试静态HTML页面的响应时间,甚至测试动态网页(包括ASP、PHP、JSP等)的响应时间,为服务器的性能优化和调整提供数据依据。


1、企业级自动化测试工具WinRunner



MercuryInteractive公司的WinRunner是一种企业级的功能测试工具,用于检测应用程序是否能够达到预期的功能及正常运行。



2、工业标准级负载测试工具Loadrunner

LoadRunner是一种预测系统行为和性能的负载测试工具



3、全球测试管理系统testdirector



TestDirector是业界第一个基于Web的测试管理系统,它可以在您公司内部或外部进行全球范围内测试的管理。



4、功能测试工具RationalRobot



IBMRationalRobot是业界最顶尖的功能测试工具,它甚至可以在测试人员学习高级脚本技术之前帮助其进行成功的测试。

它集成在测试人员的桌面IBMRationalTestManager上,在这里测试人员可以计划、组织、执行、管理和报告所有测试活动,包括手动测试报告。

这种测试和管理的双重功能是自动化测试的理想开始。



5、单元测试工具xUnit系列



目前的最流行的单元测试工具是xUnit系列框架,常用的根据语言不同分为JUnit(java),CppUnit(C++),DUnit(Delphi),NUnit(.net),PhpUnit(Php)等等。

该测试框架的第一个和最杰出的应用就是由ErichGamma(《设计模式》的作者)和KentBeck(XP(ExtremeProgramming)的创始人)提供的开放源代码的JUnit.



6、功能测试工具SilkTest



BorlandSilkTest2006属于软件功能测试工具,是Borland公司所提出软件质量管理解决方案的套件之一。

这个工具采用精灵设定与自动化执行测试,无论是程序设计新手或资深的专家都能快速建立功能测试,并分析功能错误。



7、性能测试工具WAS



是由微软的网站测试人员所开发,专门用来进行实际网站压力测试的一套工具。

透过这套功能强大的压力测试工具,您可以使用少量的Client端计算机仿真大量用户上线对网站服务所可能造成的影响。



8、自动化白盒测试工具Jtest


Jtest是parasoft公司推出的一款针对java语言的自动化白盒测试工具,它通过自动实现java的单元测试和代码标准校验,来提高代码的可靠性。

parasoft同时出品的还有C++test,是一款C/C++白盒测试工具。



9、功能和性能测试的工具JMeter



JMeter是Apache组织的开放源代码项目,它是功能和性能测试的工具,100%的用java实现。



10、性能测试和分析工具WEBLOAD



webload是RadView公司推出的一个性能测试和分析工具,它让web应用程序开发者自动执行压力测试;webload通过模拟真实用户的操作,生成压力负载来测试web的性能。



(5)web测试项目扩展阅读:


漏洞测试



企业网站做的越来越复杂、功能越来越强。不过这些都不是凭空而来的,是通过代码堆积起来的。如果这个代码只供企业内部使用,那么不会带来多大的安全隐患。

但是如果放在互联网上使用的话,则这些为实现特定功能的代码就有可能成为攻击者的目标。

天眼举一个简单的例子。在网页中可以嵌入SQL代码。而攻击者就可以利用这些SQL代码来发动攻击,来获取管理员的密码等等破坏性的动作。

有时候访问某些网站还需要有某些特定的控件。用户在安装这些控件时,其实就有可能在安装一个木马(这可能访问者与被访问者都没有意识到)。


为此在为网站某个特定功能编写代码时,就要主动出击。从编码的设计到编写、到测试,都需要认识到是否存在着安全的漏洞。

天眼在日常过程中,在这方面对于员工提出了很高的要求。各个员工必须对自己所开发的功能负责。

已知的病毒、木马不能够在所开发的插件中有机可乘。通过这层层把关,就可以提高代码编写的安全性。

‘陆’ Web测试和App测试有什么区别

1、系统架构方面:

web项目,一般都是b/s架构,基于浏览器的。app项目,则是c/s的,必须要有客户端,用户需要安装客户端。

web测试只要更新了服务器端,客户端就会同步会更新。App项目则需要客户端和服务器都更新。

2、性能方面:

web页面主要会关注响应时间,而app则还需要关心流量、电量、CPU、GPU、Memory这些。它们服务端的性能没区别,都是一台服务器。

3、兼容方面:

web是基于浏览器的,所以更倾向于浏览器和电脑硬件,电脑系统的方向的兼容。app测试则要看分辨率,屏幕尺寸,还要看设备系统。web测试是基于浏览器的所以不必考虑安装卸载。

而app是客户端的,则必须测试安装、更新、卸载。除了常规的安装、更新、卸载还要考虑到异常场景。包括安装时的中断、弱网、安装后删除安装文件。此外APP还有一些专项测试:如网络、适配性等。

(6)web测试项目扩展阅读:

Web测试和APP测试相同点:

1、设计测试用例时,依然都是依据边界值分析法、等价类划分等;

2、多数采用黑盒的测试方法,来验证业务功能是否得到正确的应用;

3、需要检查界面的布局、风格和按钮等是否简洁美观、是否统一等;

4、测试页面载入和翻页的速度、登录时长、内存是否溢出等;

5、测试应用系统的稳定性等。

参考资料来源:网络—web测试

‘柒’ java web项目怎么测试

java web项目测试用Web的测试工具,如HtmlUnit,JWebUnit等。
main()方法就可以测试,在main方法中获得connection对象将他输出就可以了。
如果正常输出一大串就是对了。

例子:
public class DBConnection {
private static String url = "jdbc:sqlserver://localhost:1433;DataBaseName=HXParserDB";
private static String username = "sa";
private static String password = "123";
private DBConnection(){}
private static DBConnection dbconn = new DBConnection();
private static Connection conn = null;
// 注册驱动
static {
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();
} catch (Exception e) {
throw new ExceptionInInitializerError(e);
}
}
public DBConnection getDBConn(){
if(null==dbconn){
dbconn = new DBConnection();
}
return dbconn;
}
// 返回Connection对象
public static Connection getConnection() {
try {
return DriverManager.getConnection(url, username, password);
} catch (SQLException e) {
return null;
}
}
/**
* @param args
*/
public static void main(String[] args) {
System.out.println(DBConnection.getConnection());
}

}

‘捌’ web测试有哪些方面

第一,分析产品结构,明确性能测试的需求,包括并发、极限、配置和指标等方面的性能要求,必要时基于LOAD测试的相同测略需同时考虑稳定性测试的需求。
第一,分析应用场景和用户数据,细分用户行为和相关的数据流,确定测试点或测试接口,列示系统接口的可能瓶颈,一般是先主干接口再支线接口,并完成初步的测试用例设计。
第三,依据性能测试需求和确定的测试点进行测试组网设计,并明确不同组网方案的重要程度或优先级作为取舍评估的依据,必要时在前期产品设计中提出支持性能测试的可测试性设计方案和对测试工具的需求。
第四,完成性能测试用例设计、分类选择和依据用户行为分析设计测试规程,并准备好测试用例将用到的测试数据。
第五,确定采用的测试工具。
第六,进行初验测试,以主干接口的可用性为主,根据测试结果分析性能瓶颈,通过迭代保证基本的指标等测试的环境。
第七,迭代进行全面的性能测试,完成计划中的性能测试用例的执行。
第八,完成性能测试评估报告。
在进行性能测试的时候,我们需要知道一些有效的性能指标,下面我们来列出一些主要的性能指标:
一是,通用指标(指Web应用服务器、数据库服务器必需测试项):
*ProcessorTime:指服务器CPU占用率,一般平均达到70%时,服务就接近饱和;
*Memory Available Mbyte:可用内存数,如果测试时发现内存有变化情况也要注意,如果是内存泄露则比较严重;
*Physicsdisk Time :物理磁盘读写时间情况。
二是,Web服务器指标:
*Avg Rps:平均每秒钟响应次数=总请求时间/秒数;
*Avg time to last byte per terstion(mstes):平均每秒业务角本的迭代次数;*Successful Rounds:成功的请求;
*Failed Rounds:失败的请求;
*Successful Hits:成功的点击次数;
*Failed Hits:失败的点击次数;
*Hits Per Second:每秒点击次数;
*Successful Hits Per Second:每秒成功的点击次数;
*Failed Hits Per Second:每秒失败的点击次数;
*Attempted Connections:尝试链接数。
三是,数据库服务器指标:
*User 0 Connections :用户连接数,也就是数据库的连接数量;
*Number of deadlocks:数据库死锁;
*Butter Cache hit:数据库Cache的命中情况)。

可用性测试:1导航测试(Web应用系统的层次一旦决定,就要着手测试用户导航功能,让最终用户参与这种测试,效果将更加明显。)2图形测试3内容测试3整体界面测试4客户端兼容性测试(1平台测试2浏览器测试)5安全性测试(测试重点:(1)现在的Web应用系统基本采用先注册,后登陆的方式。因此,必须测试有效和无效的用户名和密码,要注意到是否大小写敏感,可以试多少次的限制,是否可以不登陆而直接浏览某个页面等。(2)Web应用系统是否有超时的限制,也就是说,用户登陆后在一定时间内(例如15分钟)没有点击任何页面,是否需要重新登陆才能正常使用。(3)为了保证Web应用系统的安全性,日志文件是至关重要的。需要测试相关信息是否写进了日志文件、是否可追踪。(4)当使用了安全套接字时,还要测试加密是否正确,检查信息的完整性。(5)服务器端的脚本常常构成安全漏洞,这些漏洞又常常被黑客利用。所以,还要测试没有经过授权,就不能在服务器端放置和编辑脚本的问题。 )

‘玖’ 什么样的项目适合做web自动化测试

一般来讲如下几个需求适合做自动化:

1.需求变动不频繁
2.项目周期长
3.项目需要回归测试
我朋友在黑马程序员学的测试,毕业一年多了。薪资有14左右了。想学可以去试试

‘拾’ Java web 中如何测试Java类

junit或者TestNG是现在用的比较多的。
测试是个大学问,很难一言蔽之,测试的难易还与你的代码质量有关系。
你的问题,让应用跑起来不就知道能不能成功连接数据库了?