×

web页面测试用例php

web页面测试用例php(web测试用例模板和例子)

admin admin 发表于2023-03-13 08:35:09 浏览33 评论0

抢沙发发表评论

本文目录一览:

如何进行Web渗透测试

什么是渗透测试?

渗透测试,是渗透测试工程师完全模拟黑客可能使用的攻击技术和漏洞发现技术,对目标网络、主机、应用的安全作深入的探测,发现系统最脆弱的环节。

如何进行Web渗透测试?

完整web渗透测试框架当需要测试的web应用数以千计,就有必要建立一套完整的安全测试框架,流程的最高目标是要保证交付给客户的安全测试服务质量。

1、立项:项目建立,时间安排,人力分配,目标制定,厂商接口人确定;

系统分析威胁分析:针对具体的web应用,分析系统架构、使用的组件、对外提供的接口等,以STRIDE为威胁模型进行对应的安全威胁分析,输出安全威胁分析表,重点关注top3威胁;

制定测试用例:根据威胁分析的结果制定对应的测试用例,测试用例按照模板输出,具备可执行性;

测试执行漏洞挖掘:测试用例执行发散测试,挖掘对应的安全问题or漏洞;

问题修复回归测试:指导客户应用开发方修复安全问题or漏洞,并进行回归测试,确保安全问题or漏洞得到修复,并且没有引入新的安全问题;

项目总结评审:项目过程总结,输出文档评审,相关文档归档。

2、Web应用的渗透测试流程

主要分为3个阶段,分别是:信息收集→漏洞发现→漏洞利用,下面仔细分析一下各个阶段流程:

一、信息收集

在信息收集阶段,我们需要尽量多的收集关于目标web应用的各种信息,比如:脚本语言的类型、服务器的类型、目录的结构、使用的开源软件、数据库类型、所有链接页面,用到的框架等

脚本语言的类型:常见的脚本语言的类型包括:php、asp、aspx、jsp等

测试方法:

1 爬取网站所有链接,查看后缀

2 直接访问一个不存在页面后面加不同的后缀测试

3 查看robots.txt,查看后缀

服务器的类型:常见的web服务器包括:apache、tomcat、IIS、ngnix等

测试方法:

1 查看header,判断服务器类型

2 根据报错信息判断

3 根据默认页面判断

目录的结构:了解更多的目录,可能发现更多的弱点,如:目录浏览、代码泄漏等。

测试方法

1 使用字典枚举目录

2 使用爬虫爬取整个网站,或者使用google等搜索引擎获取

3 查看robots.txt是否泄漏

使用的开源软件:我们如果知道了目标使用的开源软件,我们可以查找相关的软件的漏洞直接对网站进行测试。

测试方法

指纹识别(网络上有很多开源的指纹识别工具)

数据库类型:对于不同的数据库有不同的测试方法。

测试方法

1 使应用程序报错,查看报错信息

2 扫描服务器的数据库端口(没做NAT且防火墙不过滤时有效)

所有链接页面:这个跟前面的获取目录结构类似,但是这个不只是获取网站的所有功能页面,有时候还可以获取到管理员备份的源码。

测试方法

1 使用字典枚举页面

2 使用爬虫爬取整个网站,或者使用google等搜索引擎获取

3 查看robots.txt是否泄漏

用到的框架:很多网站都利用开源的框架来快速开发网站,所以收集网站的框架信息也是非常关键的。

测试方法

指纹识别(网络上有很多开源的指纹识别工具)

二、漏洞发现

在这个阶段我们在做测试的时候要对症下药,不能盲目的去扫描,首先要确定目标应用是否使用的是公开的开源软件,开源框架等、然后在做深一度的漏洞扫描。

关于开源软件的漏洞发现

开源的软件:常见的开源软件有wordpress、phpbb、dedecms等

开源的框架:常见的开源框架有Struts2、 Spring MVC、ThinkPHP等

中间件服务器:常见的中间件服务器有jboss、tomcat、Weblogic等

数据库服务:常见的数据库服务mssql、mysql、oracle、redis、sybase、MongoDB、DB2等

对于开源软件的测试方法

1 通过指纹识别软件判断开源软件的版本信息,针对不同的版本信息去开放的漏洞数据库查找相应版本的漏洞进行测试

2 对于默认的后台登录页、数据库服务端口认证等入口可以进行简单的暴力破解、默认口令尝试等操作

3 使用开源的漏洞发现工具对其进行漏洞扫描,如:WPScan

关于自主开发的应用

手动测试:这个阶段,我们需要手工测试所有与用户交互的功能,比如:留言、登入、下单、退出、退货、付款等操作

软件扫描:使用免费的软件扫描,如:appscan、wvs、netsparker,burp等

可能存在的漏洞

Owasp关键点

代码安全之上传文件

代码安全之文件包含

代码安全之SSRF

逻辑漏洞之密码重置

逻辑漏洞之支付漏洞

逻辑漏洞之越权访问

平台安全之中间件安全

三、漏洞利用

针对不同的弱点有不同的漏洞利用方式,需要的知识点也比较多。一般这个阶段包括两种方式,一种是手工测试,一种是工具测试

手工测试

手工测试是通过客户端或服务器访问目标服务,手工向目标程序发送特殊的数据,包括有效的和无效的输入,观察目标的状态、对各种输入的反应,根据结果来发现问题的漏洞检测技术。手工测试不需要额外的辅助工具,可由测试者独立完成,实现起来比较简单。但这种方法高度依赖于测试者,需要测试者对目标比较了解。手工测试可用于Web应用程序、浏览器及其他需要用户交互的程序。-web页面测试用例php

这种方式对于有特殊过滤等操作,或者网络上没有成型的利用工具的时候可以使用。

工具测试

网络上有很多好用的免费利用工具,比如针对sql注入的sqlmap、针对软件漏洞的matesploit等。

selenium webdriver 执行测试常见问题

selenium中如何保证操作元素的成功率?

如何提高selenium脚本的执行速度?

用例在运行过程中经常会出现不稳定的情况,也就是说这次可以通过,下次就没办法通过了,如何去提升用例的稳定性?

你的自动化用例的执行策略是什么?

(1)selenium中如何保证操作元素的成功率?也就是说如何保证我点击的元素一定是可以点击的?

答:Selenium保证元素成功率是通过元素的定位,当然它的定位方法很多,一定能有合适的。但是在自动化工程的实施过程中,高质量的自动化测试不是只有测试人员保证的。需要开发人员规范开发习惯,如给页面元素加上唯一的name,id等,这样就能大大地提高元素定位的准确性。当然如果开发人员开发不规范,我们在定位元素的时候尽量使用相对地址定位,这样能减少元素定位受页面变化的影响。只要我们元素定位准确,就能保证我的每一个操作符合我的预期。-web页面测试用例php

(2)如何提高selenium脚本的执行速度?

答:Selenium脚本的执行速度受多方面因素的影响,如网速,操作步骤的繁琐程度,页面加载的速度,以及我们在脚本中设置的等待时间,运行脚本的线程数等。所以不能单方面追求运行速度的,要确保稳定性,能稳定地实现回归测试才是关键。-web页面测试用例php

我们可以从以下几个方面来提高速度:

一,减少操作步骤,如经过三四步才能打开我们要测试的页面的话,我们就可以直接通过网址来打开,减少不必要的操作。

二,中断页面加载,如果页面加载的内容过多,我们可以查看一下加载慢的原因,如果加载的内容不影响我们测试,就设置超时时间,中断页面加载。

三,在设置等待时间的时候,可以sleep固定的时间,也可以检测某个元素出现后中断等待也可以提高速度。

四,配置testNG实现多线程。在编写测试用例的时候,一定要实现松耦合,然后在服务器允许的情况下,尽量设置多线程运行,提高执行速度。

(3)用例在运行过程中经常会出现不稳定的情况,也就是说这次可以通过,下次就没办法通过了,如何去提升用例的稳定性?

答:此时我们要分析出不稳定的原因,然后有针对性的去解决问题。主要有以下几个方面 :

一,网速问题:有的时候网页加载的比较慢,在程序执行的时候要操作的元素没有显示出来。这种情况比较常见,运行一次网速好的时候通过了,再运行一次,页面没有打开,就不通过了。为了提高稳定性,我们只能牺牲运行时间了,在经常检测失败的元素前加上等待时间,等要操作的元素出现之后再执行下面的操作。-web页面测试用例php

二,Selelnium的原因:Selenium1.0和2.0还是有区别的,有些儿函数在2.0下运行确实有时而有效,时面无效。如果mouseover()函数,就是这种情况, 我们需要避免使用这类的函数。-web页面测试用例php

三,多线程的时候,测试用例间相互影响。虽然多线程的时候运行速度比较快,但是如果用例之间的耦合性没有设计好,也会影响的,如果用例A先于用例B执行的时候,就会影响到用例B;反之则没有问题。这种情况,如果你的自动化测试工程打算多线程的时候,提前就要把测试用例测试的耦合度比较松,尽量没有任何关系,因为多线程的执行顺序是不受控制的。-web页面测试用例php

(4)你的自动化用例的执行策略是什么?

答:自动化测试用例的执行策略是要看自动化测试的目的,通常有如下几种策略:

一,自动化测试用例是用来监控的,在此目的下,我们就把自动化测试用例设置成定时执行的,如果每五分钟或是一个小时执行一次,在jenkins上创建一个定时任务即可。

二,必须回归的用例。有些儿测试用例,如BVT测试用例,我们在公司产品任何变动上线之前都需要回归执行。那我们就把测试用例设置成触发式执行,在jenkins上将我们的自动化测试任务绑定到开发的build任务上。当开发人员在仿真环境上部代码的时候,我们的自动化测试用例就会被触发执行。-web页面测试用例php

三,不需要经常执行的测试用例。像全量测试用例,我们没有必要一直回归执行,必竟还是有时间消耗的,有些非主要业务线也不需要时时回归。这类测试用例我们就采用人工执行,在jenkins创建一个任务,需要执行的时候人工去构建即可。-web页面测试用例php

如何使用Apache的ab工具进行网站性能测试

方法/步骤

打开Apache服务器的安装路径,在bin目录中有一个ab.exe的可执行程序,就是我们要介绍的压力测试工具。

在Windows系统的命令行下,进入ab.exe程序所在目录,执行ab.exe程序。注意直接双击无法正确运行。

执行ab命令成功后,可以看到如图提示。该帮助很清楚详细的介绍了ab的用法以及各个参数的含义。

ab 的用法是:ab [options] [http://]hostname[:port]/path

例如:ab -n 5000 -c 200

上例表示总共访问这个脚本5000次,200并发同时执行。

ab常用参数的介绍:

-n :总共的请求执行数,缺省是1;

-c: 并发数,缺省是1;

-t:测试所进行的总时间,秒为单位,缺省50000s

-p:POST时的数据文件

-w: 以HTML表的格式输出结果

执行测试用例:ab -n 1000 -c 100 -w c:\1.html

上面的测试用例表示100并发的情况下,共测试访问index.php脚本1000次,并将测试结果保存到c:\1.html文件中。

测试报告如图,可知在该100并发访问的情况下,共测试访问1000次,失败了852次。可知该脚本在此环境无法满足100并发访问的要求。

修改参数继续测试。测试并发50和30两种情况,由测试报告得知,在并发访问降到30时,错误的访问数降为39。

自动化测试的工具有哪些

商业工具:

1、RFTRational Functional Tester 的基础是针对于Java、.NET的对象技术和基于 Web 应用程序的录制、回放功能。工具为测试者的活动提供的自动化的帮助,如数据驱动测试。IBM RFT是一个用于功能和回归测试的数据驱动的测试平台。它支持大范围的应用,例如.Net、Java、SAP、Flex和Ajax。RFT使用Visual Basic。Net和Java作为脚本语言。RFT有一个独特的功能,称为 Storyboard 测试,用户的动作被记录下来,并通过应用截图在 Storyboard 格式中可视化。RFT的另一个有趣特性是它与IBM Jazz应用生命周期管理系统(如IBM Rational Team Concert和Rational Quality Manager)的集成。-web页面测试用例php

2、kylinTOP:这是一款国产的自动化测试工具,支持WEB和APP的自动化测试,其中元素智能定位是这款自动化软件主要特点,是设计理念比较超前的测试工具,算是国内众多自动化测试工具中,做的比较突出的一款。与传统的RFT和UFT相比,的确有过人之处,算是后起之秀,使用起来,简单高效、稳定。这样描述估计也没几个人能体会到的。说白一点就是一个人可以干三个人的活,使用者只需关注业务即可。-web页面测试用例php

3、UFT:UFT(别名:QuickTest Professional简称QTP)是一种自动化测试工具,以VBScirpt为内嵌语言,其前身是QTP。UFT支持功能测试和回归测试自动化,可用于软件应用程序和环境的测试。UFT自动化测试的基本功能包括:创建测试、检验数据、增强测试、运行测试脚本、分析测试结果、维护测试;UFT支持两种视图,一种是Keyword View(关键字视图),另一种是Expert View(专家视图)。是一款老牌的自动化测试工具。-web页面测试用例php

4、SilkTest:这个也是比较相对著名的工具,不过同样还是没有了解过,对于商业的工具,因为其占地面积大,还要破解等麻烦事,最关键的是使用的公司少,所以只使用过QTP,其它的一概未了解过

开源工具:1、Selenium:这个应该大多数人都知道的,现在也是大多数互联网公司在使用的测试框架;selenium仅支持web的UI级别测试,但是其优点在于:a、支持多种语言编写测试脚本,比如:java、python、ruby、perl等;同时也就意味着其后的支持类库也是很多的b、支持多浏览器,如:ie,ff,safari、chrome等c、支持多平台,如:windows、linux、MAC、android、iphone等d、支持分布式执行,一套测试用例可以同时分布到不同的测试机上执行,而且还可以进行任务细化,比如:针对liunx执行系统只分配linux下需要执行的用例此外还有录制工具支持,简单也说,web类测试基本上是首选,不过对flash的支持好像不是太好其主要分2个版本,1.X版本是以js驱动来进行自动化实现的;2.X重新开发了webdriver来代替js驱动,直接调用浏览器底层接口来完成自动化实现的前提:如果使用remote或者RC功能,需安装jre下载地址:-web页面测试用例php

2、EFT【easy function testing】:这个是在.net3.0 的UIAutomatuon的基础上封装的一个dll文件,同样还封装了部分windows api以实现鼠标和键盘事件。所以这个只能叫测试类库,且仅支持windows程序,而且同样支持uiautomain所支持的WPF程序的测试。前提:安装了.net3.0使用:引入该文件,uiautomation 相关dll,VS环境下编写测试用例-web页面测试用例php

3、UIAutomation:这个是微软提供的UI自动化框架,当然它的初衷并不仅仅是为自动化测试而产生的,它的任务是给更多的开发或者应用去调用windows的UI控件,不过还是可以用于自动化测试的;因为之前微软就有类似的工具,而这个是重新设计的ui操作类框架,其目的是为了兼容支持windows系列操作系统的UI自动化操作【xp,vista,server2003】,还有就是天然支持WPF。当然其设计与通常的自动化工具就不一样了,比如:没有把控件支持的方法绑定在控件对象本身,没有提供专门的鼠标/键盘事件,但是却提供了特定控件对象的事件响应监听及处理方法的定制。其工作流程大概是这样的:a、先获取特定的元素对象,有多种方法。如:句柄,属性值b、获取这个元素对象的模式。模式是这个框架的设计的独具之处,成就了它的灵活性,统一性c、通过这个模式在进行具体的方法调用,属性值获取等d、监听指定对象的特定事件,一旦发生则执行指定的事件处理函数-web页面测试用例php

4、Robot FrameworkRobot Framework是一个完全基于关键字测试驱动的框架,它即能够基于它的一定规则,导入你需要的测试库(例如:其集成了selenium的测试库,即可以理解为操作web控件的测试底层库),然后基于这些测试库,你能应用HTML、TXT等文档形式编写自己的关键字(这些关键字即你的库组成),之后,再编写测试用例(测试用例由测试关键字组成)进行测试。例如:一个简单的登陆测试由:登陆+输入密码+登出三个关键字组成,也可以由一个关键字登陆组成,关键字颗粒的大小可以自行定制。-web页面测试用例php

自动化测试学什么语言

问题一:自动化测试所需要用到哪些脚本语言? 看楼主是偏向哪方面的自动化测试,是软件测试还是web测试?

我主要是做web测试的,最近也在研究自动化测试。

自动化测试主流的工具应该是QTP吧,这个你可以去51testing论坛搜到很多相关的资料。QTP是一个商业软件。

“不同的工具就要使用不同的脚本语言吗?”-对于这个,我才疏学浅,不好回答。但主流的脚本语言有java、ruby、python吧,

有些工具是跨平台、跨语言的。我使用cucumber+ruby+selenium-webdriver,cucumber用来写测试用例,ruby作为脚本语言,selenium-webdriver是用来驱动浏览器的。 -web页面测试用例php

如果楼主也是搞web测试的,我们可以交流交流

问题二:软件测试中的自动化测试一般要会什么编程语言 自动化测试是用工具代替人测试,不需要会什么语言吧?

问题三:自动化测试需要学习什么脚本语言 看楼主是偏向哪方面的自动化测试,是软件测试还是web测试? 我主要是做web测试的,最近也在研究自动化测试。 自动化测试主流的工具应该是QTP吧,这个你可以... -web页面测试用例php

问题四:如何学习自动化测试 软件自动化测试的学习步骤

大概步骤如下:

1. 做好手工测试(了解各种测试的知识)- 2. 学习编程语言- 3. 学习Web基础(HTML,HTTP,CSS,DOM,Javascript)或者 学习Winform

- 4. 学习自动化测试工具 -5. 学习自动化测试框架 - 6. 实现自动化测试用例 - 7. 开发自动化测试工具 -8. 开发自动化测试框架

自动化测试的最高境界是: 开发测试工具,设计自动化测试框架, 让别人用。

自动化测试的本质

自动化测试的本质是:用程序测试程序。 也就是说学习“编程语言”是学习自动化测试的基础。

很多人问小坦克我学自动化测试,应该去学什么自动化工具。 我的回答是,第一步:应该先学习编程语言,以后再去学自动化测试工具

自动化测试是一定要写代码的, 编程语言水平的高低决定了自动化测试水平的高低, 有了扎实的编程技术,干什么都可以。

学习编程语言时, 要把自己当做开发人员, 系统地学习各种编程知识。

自动化测试学习的误区

很多新手一开始,就学习复杂的自动化测试工具, 我觉得这样是本末倒置了。

如果不先理解HTTP协议, 就不会理解Jemeter, LoadRunner, Fiddler, SoapUI这些工具的。

如果不先理解HTML,DOM, 就不会理解Firebug 这种工具的

如果不先理解Win32 API, 就不会理解Windows 窗体自动化测试的原理的。

如果自己没有开发过网站, 就不会理解网站的各个方面,测试起来难免有遗漏。

总之学习自动化测试,需要循序渐进, 把基础打好。

自动化测试的职位

自动化测试工程师的职位叫做: (SDET) Software Development Engineer in Test. 专注于自动化测试

手动测试工程师叫: (STE)Software test enginer. 专注于手动测试

在微软有很多SDET的职位,但是没有STE的职位, STE职位一般都是外包给外包公司的, 目前自动化测试还是非常吃香的。

自动化测试分类

自动化测试也有非常多的种类,

对Web UI 的自动化测试程序

对Windows 窗体UI的自动化测试程序

API测试, 比如(测试WCF service, Web API 等)

数据库测试, 比如测试存储过程

接口测试 (这种只能用自动化测)

单元测试

性能测试, 性能测试都需要用到自动化

问题五:如何学习自动化测试 软件自动化测试的学习步骤 大概步骤如下: 1. 做好手工测试(了解各种测试的知识)- 2. 学习编程语言- 3. 学习Web基础(HTML,HTTP,CSS,DOM,Javascript)或者 学习Winform - 4. 学习自动化测试工具 -5. 学习自动化测试框架 - 6. 实现自动化测试用例 - 7. 开发自动化测试工具 -8. 开发自动化测试框架 自动化测试的最高境界是: 开发测试工具,设计自动化测试框架, 让别人用。 自动化测试的本质 自动化测试的本质是:用程序测试程序。 也就是说学习“编程语言”是学习自动化测试的基础。 很多人问小坦克我学自动化测试,应该去学什么自动化工具。 我的回答是,第一步:应该先学习编程语言,以后再去学自动化测试工具 自动化测试是一定要写代码的, 编程语言水平的高低决定了自动化测试水平的高低, 有了扎实的编程技术,干什么都可以。 学习编程语言时, 要把自己当做开发人员, 系统地学习各种编程知识。 自动化测试学习的误区 很多新手一开始,就学习复杂的自动化测试工具, 我觉得这样是本末倒置了。 如果不先理解HTTP协议, 就不会理解Jemeter, LoadRunner, Fiddler, SoapUI这些工具的。 如果不先理解HTML,DOM, 就不会理解Firebug 这种工具的 如果不先理解Win32 API, 就不会理解Windows 窗体自动化测试的原理的。 如果自己没有开发过网站, 就不会理解网站的各个方面,测试起来难免有遗漏。 总之学习自动化测试,需要循序渐进, 把基础打好。 自动化测试的职位 自动化测试工程师的职位叫做: (SDET) Software Development Engineer in Test. 专注于自动化测试 手动测试工程师叫: (STE)Software test enginer. 专注于手动测试 在微软有很多SDET的职位,但是没有STE的职位, STE职位一般都是外包给外包公司的, 目前自动化测试还是非常吃香的。 自动化测试分类 自动化测试也有非常多的种类, 对Web UI 的自动化测试程序 对Windows 窗体UI的自动化测试程序 API测试, 比如(测试WCF service, Web API 等) 数据库测试, 比如测试存储过程 接口测试 (这种只能用自动化测) 单元测试 性能测试, 性能测试都需要用到自动化 -web页面测试用例php

问题六:自动化测试脚本语言有哪些?有什么优缺点 这个范围有点广,

我给你举个例子吧:

关于手机UI测试的主要用到 UIAutomator

语言是java

优点是 android 内置的模块,

缺点是 不能测试web相关模块

专业术语:android UIObject description uiautomatorviewer

资料:developer.android/...x

问题七:快速学会自动化测试要学习什么易学的语言 建议学习python

问题八:自动化测试是不是要懂一种语言 看楼主是偏向哪方面的自动化测试,是软件测试还是web测试? 我主要是做web测试的,最近也在研究自动化测试。 自动化测试主流的工具应该是QTP吧,这个你可以... -web页面测试用例php

问题九:本人做软件测试的,想要接触自动化测试,想问问学习功能自动化还是性能自动化测试好,具体学习的流程? 你好 一、先说说我以前告诉别人的话... 1、自动化测试,其理念就是应用各种手段模拟人工操作,节省人力测试成本,保证产品测试质量。 2、你想学好自动化软件测试,不是单单靠学习几个自动化工具就能掌握的,但是你可以从工具入手, 首先,告诉你自动化测试的基础是 1)编程技巧,包括高级语言和脚本语言,脚本语言是初期的掌握,可以有,tcl、phython、ruby等而高级语言,要好好学好一门,例如,我是对java为重点。还有,如果你是对web自动化测试的话,那么jsp、php、HTML、CSS等web语言是必须掌握的。 2)操作系统技巧;因为软件自动化测试是构建在操作系统上的,其技巧需要能善于利用到操作系统的各种技巧,例如:注册表、环境变量、句柄等。 3)数据库知识,要善于利用数据库知识去存储管理。 4)业务知识,这也是重点。你所在软件行业的软件业务,要知道你的软件的工作方式。 5)质量与流程管理理念。 然后,你的学习步骤 1)可以从工具入手,根据具体的项目去学习;例如:java软件界面测试(RFT、QTP的java插件等)、web界面测试(QTP、selenium等)、性能测试(RPT、loadrunner等)。但记住,学习其工具,重点不是简单的使用,而是如何利用工具去扩展。 2)然后,重点学习以上的基础,以编程为重点,其余的结合学习,顺便说一句,其实自动化测试的理念与软件设计模式理念很像,你可以从中有所领悟。 3)之后,再学习去拓建自己的自动化测试框架,何谓框架,一下说不清楚,我给你推荐一下 注意:如果没有自动化测试方面的实践项目的话,最好先从基础学起,因为基础学好了,自动化测试入门会很快的。 4(至于性能测试,也是一样,可以先从工具入手,但不要局限于工具,性能测试最重要的是环境的构建方法以及对测试结果的分析方法,所以性能测试重点在于分析和实现过程,而不是工具使用过程。 二、再根据你的情况 1、你已经做了1年多的软件测试,那么我不知道你是做的黑盒还是白盒测试,但是既然想到学习自动化测试,你就首先必须了解它是什么,它能用于什么,不然会很盲目,这点,你可以跟我来探讨 2、自动化测试其实说白了是技术与测试的结合体,最终还是回归到测试和流程的结合管理。所以你已经有了测试的经验,那么现在你要以技术入手,先以编程入手,去好好的学习一门高级语言和一门脚本语言,高级语言看你喜好,我是一直在学java(因为其库的丰富性以及资料的完全性),然后脚本学了tcl与python,我建议你可以弄python,也很强大,先好好的将一门语言学懂,学到自己能写一些程序,能做出一些东西,那么你再去深入自动化测试将很简单 3、学好一门编程语言,当然你在学习编程语言的过程中会涉及到XML、HTML、数据库、操作系统各种东西,千万不能因为为了学语言而学语言,学习如何去使用它最重要,可以的话,你可以学学tcp协议 4、OK,大概半年左右你能初步掌握好一门语言了,那么你就可以深入自动化测试工具了,我刚开始是以自动化测试工具入门的,但是现在发现当你有了编程语言的基础后,入门这个很简单,重点是去学习这些工具的思想,即这些工具为什么这么做。 5、之后,你就能自己去构建一些自动化测试框架了。 6、.......再之后,还有很长一段路,但是现在你能做到以上就是一个很好的阶段了,万事开头难,先学好编程,你才能走得下去。 7、共勉吧,有什么需要和问题发我邮件[email protected] ,散步的SUN,我的博客很多关于自动化测试方面的记录的,你想看的话再说把~~ -web页面测试用例php

问题十:app自动化测试必须掌握一门语言吗?小白应该从哪开始学起?不懂代码的情况下 并不绝对需要,因为自动化测试目前的水准就是有人弄好教程,然后搬过来使用,我以前公司的测试就是不懂编程的,人家也在弄自动化测试。不过其中我见过她碰壁,简单来说教程中还是会出现一些很浅显的编程知识词汇,所以有时会出现很简单的问题自己看不明白,或者只会弄教程中有的而不会变通。所以我建议多少还是学习一些编程知识,重点可以放在了解开发体系而不是钻研技术,而且有个主要原因,专业测试用的东西是与开发使用的工具不一样的,你会用的东西写代码的人不一定会用。 -web页面测试用例php

有几点提示一下

1。是现在公司的测试水准大部分(90%以上)包括一些大公司仍然处在写测试用例,然后依照测试用例和经验去手动测试app。

2。既然入了行,想进步内在的东西迟早要学,Java基础没有推辞理由的东西。

thinkphp怎么用phpunit写测试用例

测试用例

本例中,根目录的index.php的配置如下:

?php    

define('APP_NAME', 'example');    

define('APP_PATH', '../example/');    

define('APP_PHPUNIT', false);    

define('APP_DEBUG', true);    

require('../ThinkPHP/ThinkPHP.php');    

?

首次访问之后,生成以下目录结构:

在example站点中新建文件夹,命名为“Testcase”。

测试Model

创建HelloModel.class.php:

?php    

     

class HelloModel extends Model    

{    

    public function sayHello()    

    {    

        print 'Hello';    

        return 'Hello';    

    }    

}

在Test文件夹中新建Test.php文件作为PHPUnit,其中注意require ThinkPHP作为初始化框架环境,另外在Think.class.php中,修改

start()函数中,App::run()为 !APP_PHPUNIT App::run();

该区分站点运行与测试用例。

?php    

define('APP_NAME', 'example');    

define('APP_PATH', './../../example/');    

define('APP_PHPUNIT', true);    

require('./../../ThinkPHP/ThinkPHP.php');    

class TestSayHello extends PHPUnit_Framework_TestCase {    

     

    public function setUp() { }    

     

    public function tearDown(){ }    

     

}

在TestSayHello中加入测试用例:

public function testHelloModel()    

{    

    $hello = D('Hello');    

    $this-assertTrue( $hello-sayHello('Hello') == 'Hello');    

}

测试Action

修改IndexAction.class.php如下:

?php    

class IndexAction extends Action    

{    

    public function index()    

    {    

        $hello = D("Hello");    

        return $hello-sayHello();    

    }    

}

浏览器访问Index效果:

在TestSayHello中加入测试用例:

public function  testHelloAction()    

{    

    $hello = new IndexAction();    

    $this-assertTrue($hello-index() == 'Hello');    

}

运行效果

运行Test.php效果如下:

Test通过,至此给ThinkPHP加上了单元测试。