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

web灰盒测试开源

发布时间: 2022-06-01 06:49:10

① web测试方法有哪些测试技术又有哪些软件测试工具又有哪些呢,优劣势分别是什么

web网站本质上带有web服务器和客户端浏览器的C/S结构的应用程序。主要考虑web页面、TCP/IP通讯、Internet链接、防火墙和运行在 web页面上的一些程序(例如,applet、javascrīpt、应用程序插件),以及运行在服务器端的应用程序(例如,CGI脚本数据库接口、日志程序、动态页面产生器,asp等)。另外,因为服务器和浏览器类型很多,不同版本差别很小,但是表现出现的结果却不同,连接速度以及日益迅速的技术和多种标准、协议。使得web测试成为一项正在不断研究的课题。其它要考虑的如下:

1、服务器上期望的负载是多少(例如,每单位时间内的点击量),在这些负载下应该具有什么样的性能(例如,服务器反应时间,数据库查询时间)。性能测试需要什么样的测试工具呢(例如,web负载测试工具,其它已经被采用的测试工具,web 自动下载工具,等等)?

2、系统用户是谁?他们使用什么样的浏览器?使用什么类型的连接速度?他们是在公司内部(这样可能有比较快的连接速度和相似的浏览器)或者外部(这可能有使用多种浏览器和连接速度)?

3、在客户端希望有什么样的性能(例如,页面显示速度?动画、applets的速度等?如何引导和运行)?

4、允许网站维护或升级吗?投入多少?

5、需要考虑安全方面(防火墙,加密、密码等)是否需要,如何做?怎么能被测试?需要连接的Internet网站可靠性有多高?对备份系统或冗余链接请求如何处理和测试?web网站管理、升级时需要考虑哪些步骤?需求、跟踪、控制页面内容、图形、链接等有什么需求?

6、需要考虑哪种HTML规范?多么严格?允许终端用户浏览器有哪些变化?

7、页面显示和/或图片占据整个页面或页面一部分有标准或需求吗?

8、内部和外部的链接能够被验证和升级吗?多久一次?

9、产品系统上能被测试吗?或者需要一个单独的测试系统?浏览器的缓存、浏览器操作设置改变、拨号上网连接以及Internet中产生的“交通堵塞”问题在测试中是否解决,这些考虑了吗?

10、服务器日志和报告内容能定制吗?它们是否被认为是系统测试的主要部分并需要测试吗?

11、CGI程序、applets、javascrīpts、ActiveX 组件等能被维护、跟踪、控制和测试吗?

测试技术大体分为黑盒和白盒测试,当然有的还用灰盒测试。
而功能、性能、用户界面、兼容性、安全测试都属于测试方法。大部分的测试是手动的,用基本的办公软件就可以解决;部分白盒测试需要了解程序内部的语句、数据结构和算法逻辑。
现在企业认同的高名气软件就是功能测试工具:QTP 性能测试工具:LOADRUNNER
bug追踪、记录工具:Bugfree、Bugzilla、TD等,用一个即可。
而QTP和LOADRUNNER是性能非常庞大的软件,如果可以熟练的分析出录制的内容,那么就入门了。可以运用到工作上。
说道这些软件的劣势,就是实现自动化需要这个团队购买正版软件、组织和培训组内成员进行新知识的培训。这些都是成本的一部分。

② 开发转测试需要知道些什么给点建议

正常的测试人员,从技术栈上来讲,进阶的路线一般都是功能测试-->自动化测试-->测试开发-->全栈。
先学自动化测试:稍微学一下测试开源框架应该就能在测试开发岗位上工作。也就是写一些简单的测试脚本和框架,其难度比一般开发人员开发一个小web应用更低。
关键点是:记住你是开发转的,你的开发技能一定得用上。必须找一个用得上开发技能,需要你写代码的

至于性能测试:
1.脚本编写只需要花一个下午学习一个常用工具,就能编出来。
2.性能测试策略,即使你不会,你们组里肯定有人会。一句话总结归根结底就是在不同负载下运行测试脚本持续不同的时间,并观察待测应用及服务器的性能。
3.调优,一般是多个角色一起做。不会让测试人员挑大梁来调优。

③ 白盒测试,灰盒测试和黑盒测试的区别

白盒测试要看程序的运算过程,黑盒测试只看结果,灰盒测试介于两者之间

④ 如何检测一个网站是否有安全漏洞

扫描网站漏洞是要用专业的扫描工具,下面就是介绍几种工具
1. Nikto
这是一个开源的Web服务器扫描程序,它可以对Web服务器的多种项目进行全面的测试。其扫描项目和插件经常更新并且可以自动更新。Nikto可以在尽可能短的周期内测试你的Web服务器,这在其日志文件中相当明显。不过,如果你想试验一下,它也可以支持 LibWhisker的反IDS方法。不过,并非每一次检查都可以找出一个安全问题,虽然多数情况下是这样的。有一些项目是仅提供信息类型的检查,这种检查可以查找一些并不存在安全漏洞的项目,不过Web管理员或安全工程师们并不知道。
2. Paros proxy
这是一个对Web应用程序的漏洞进行评估的代理程序,即一个基于Java的web代理程序,可以评估Web应用程序的漏洞。它支持动态地编辑/查看 HTTP/HTTPS,从而改变cookies和表单字段等项目。它包括一个Web通信记录程序,Web圈套程序,hash 计算器,还有一个可以测试常见的Web应用程序攻击的扫描器。
3. WebScarab:
它可以分析使用HTTP和HTTPS协议进行通信的应用程序,WebScarab可以用最简单地形式记录它观察的会话,并允许操作人员以各种方式观查会话。如果你需要观察一个基于HTTP(S)应用程序的运行状态,那么WebScarabi就可以满足你这种需要。不管是帮助开发人员调试其它方面的难题,还是允许安全专业人员识别漏洞,它都是一款不错的工具。

4. WebInspect:
这是一款强大的Web应用程序扫描程序。SPI Dynamics的这款应用程序安全评估工具有助于确认Web应用中已知的和未知的漏洞。它还可以检查一个Web服务器是否正确配置,并会尝试一些常见的 Web攻击,如参数注入、跨站脚本、目录遍历攻击等等。
5. Whisker/libwhisker :
Libwhisker是一个Perla模块,适合于HTTP测试。它可以针对许多已知的安全漏洞,测试HTTP服务器,特别是检测危险CGI的存在。 Whisker是一个使用libwhisker的扫描程序。
6. Burpsuite:
这是一个可以用于攻击Web应用程序的集成平台。Burp套件允许一个攻击者将人工的和自动的技术结合起来,以列举、分析、攻击Web应用程序,或利用这些程序的漏洞。各种各样的burp工具协同工作,共享信息,并允许将一种工具发现的漏洞形成另外一种工具的基础。
7. Wikto:
可以说这是一个Web服务器评估工具,它可以检查Web服务器中的漏洞,并提供与Nikto一样的很多功能,但增加了许多有趣的功能部分,如后端 miner和紧密的Google集成。它为MS.NET环境编写,但用户需要注册才能下载其二进制文件和源代码。

8. Acunetix Web Vulnerability Scanner :
这是一款商业级的Web漏洞扫描程序,它可以检查Web应用程序中的漏洞,如sql注入、跨站脚本攻击、身份验证页上的弱口令长度等。它拥有一个操作方便的图形用户界面,并且能够创建专业级的Web站点安全审核报告。
9. Watchfire AppScan:
这也是一款商业类的Web漏洞扫描程序。AppScan在应用程序的整个开发周期都提供安全测试,从而测试简化了部件测试和开发早期的安全保证。它可以扫描许多常见的漏洞,如跨站脚本攻击、HTTP响应拆分漏洞、参数篡改、隐式字段处理、后门/调试选项、缓冲区溢出等等。
10. N-Stealth:
N-Stealth是一款商业级的Web服务器安全扫描程序。它比一些免费的Web扫描程序,如Whisker/libwhisker、 Nikto等的升级频率更高。还要注意,实际上所有通用的VA工具,如Nessus, ISS Internet Scanner, Retina, SAINT, Sara等都包含Web 扫描部件。N-Stealth主要为Windows平台提供扫描,但并不提供源代码。

⑤ 什么叫灰盒测试

黑盒测试、白盒测试和灰盒测试的基本概念

1. 黑盒测试
黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用,在测试时,把程序看作一个不能打开的黑盆子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数锯而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。
黑盒测试方法主要有等价类划分、边值分析、因—果图、错误推测等,主要用于软件确认测试。"黑盒"法着眼于程序外部结构、不考虑内部逻辑结构、针对软件界面和软件功能进行测试。"黑盒"法是穷举输入测试,只有把所有可能的输入都作为测试情况使用,才能以这种方法查出程序中所有的错误。实际上测试情况有无穷多个,人们不仅要测试所有合法的输入,而且还要对那些不合法但是可能的输入进行测试。

2. 白盒测试
白盒测试也称结构测试或逻辑驱动测试,它是知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,检验程序中的每条通路是否都有能按预定要求正确工作,而不顾它的功能,白盒测试的主要方法有逻辑驱动、基路测试等,主要用于软件验证。
"白盒"法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。"白盒"法是穷举路径测试。在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。贯穿程序的独立路径数是天文数字。但即使每条路径都测试了仍然可能有错误。第一,穷举路径测试决不能查出程序违反了设计规范,即程序本身是个错误的程序。第二,穷举路径测试不可能查出程序中因遗漏路径而出错。第三,穷举路径测试可能发现不了一些与数据相关的错误。

3. 灰盒测试
灰盒测试,确实是介于二者之间的,可以这样理解,灰盒测试关注输出对于输入的正确性,同时也关注内部表现,但这种关注不象白盒那样详细、完整,只是通过一些表征性的现象、事件、标志来判断内部的运行状态,有时候输出是正确的,但内部其实已经错误了,这种情况非常多,如果每次都通过白盒测试来操作,效率会很低,因此需要采取这样的一种灰盒的方法。
灰盒测试结合了白盒测试盒黑盒测试的要素.它考虑了用户端、特定的系统知识和操作环境。它在系统组件的协同性环境中评价应用软件的设计。
灰盒测试由方法和工具组成,这些方法和工具取材于应用程序的内部知识盒与之交互的环境,能够用于黑盒测试以增强测试效率、错误发现和错误分析的效率。
灰盒测试涉及输入和输出,但使用关于代码和程序操作等通常在测试人员视野之外的信息设计测试。

----------------------------------------------------------------------------------------

⑥ Jmeter的优点是什么它和LoadRunner有什么本质区别

1、jmeter的架构和loadrunner原理一样,都是通过中间代理,监控和收集并发客户端发出的指令,把他们生成脚本,再发送到应用服务器,再监控服务器反馈结果的一个过程;
2、分布式中间代理功能在jmeter中也有,这个分页式代理是指可设置多台代理在不同PC中,通过远程进行控制,即通过使用多台机器运行的谓的agant来分担load generator自身的压力,并借引来获取更大的并发用户数,loadrunner也有此功能;
3、jmeter安装简单,只需要解压jmeter文件包到C盘上就可以了,不用安装,要是你想执行调试测试脚本,前提是:装上jdk和netbean插件,而loadrunner安装包有1G多,在一台P3.0,1G内存的PC上安装要一个多小时,要是装过旧的盗版还不能再装新版,解决办法倒是有,但麻烦且花时间;
4、Jmeter没有IP欺骗功能,IP欺骗是指在一台PC上多个IP地址分配给并发用户,这个功能对于模拟较真实的用户环境来说,是较有用,loadrunner有此功能;
5、jmeter也提供了一个利用本地proxy server(代理服务器)来录制生成测试脚本的功能,但是这个功能并不好用,测试对象的个别参数要手工增加上去,还得附带装个IE代理,如 GoogleToolbarDownloader这些插件来捕捉参数,但是有一个工具badbody,利用这个工具可以录制操作,然后选择将脚本保存为jmeter脚本,然后利用jmeter可以打开并修改脚本;
6、Jmeter的报表较少,对于要分析测试性能不足作为依据。如要知道数据库服务器或应用程序服务的cpu,money等参数,还得在相关服务器上另外写脚本记录服务器的性能;
7、jmeter做性能测试,主要是通过增加线程的数目,或者是设置循环次数来增加并发用户,而loadrunner可以通过在场景中选择要设置什么样的场景,然后选择虚拟用户数;
8、jmeter可以通过逻辑控制器实现复杂的测试行为,相当于loadrunner中的测试场景;
9、jmeter可以做web程序的功能测试,利用jmeter中的样本,可以做灰盒测试,loadrunner主要用来做性能测试;
10、jmeter是开源的,但是使用的人较少,网络上相关资料不全面,需要自己去揣摩,而loadrunner是商业软件,如果是正版本,有技术支持,同时,网络上的资料相当多;
11、Jmeter的脚本修改,主要是针对jmeter中各个部件的熟悉程序,已经相关的一些协议的掌握情况,而不依赖于编程,而loadrunner除了复杂的场景设置外,还需要掌握函数,修改脚本。

⑦ 怎样搭建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都通过后触发部署生产包到生产环境。部分用户群较大的产品还需要配置灰度发布。

⑧ 有没有用Java写的轻量级开源的分布式存储系统

一个轻量级分布式KV存储系统。
如果用K记录文件路径和文件名,用V记录文件内容,就是一个轻量级分布式小文件系统。
至于大文件,几乎一定是HDFS这种有元数据服务中心(NameNode)架构的。