① Web测试和App测试有什么区别
1、系统架构方面:
web项目,一般都是b/s架构,基于浏览器的。app项目,则是c/s的,必须要有客户端,用户需要安装客户端。
web测试只要更新了服务器端,客户端就会同步会更新。App项目则需要客户端和服务器都更新。
2、性能方面:
web页面主要会关注响应时间,而app则还需要关心流量、电量、CPU、GPU、Memory这些。它们服务端的性能没区别,都是一台服务器。
3、兼容方面:
web是基于浏览器的,所以更倾向于浏览器和电脑硬件,电脑系统的方向的兼容。app测试则要看分辨率,屏幕尺寸,还要看设备系统。web测试是基于浏览器的所以不必考虑安装卸载。
而app是客户端的,则必须测试安装、更新、卸载。除了常规的安装、更新、卸载还要考虑到异常场景。包括安装时的中断、弱网、安装后删除安装文件。此外APP还有一些专项测试:如网络、适配性等。
(1)web云测试平台扩展阅读:
Web测试和APP测试相同点:
1、设计测试用例时,依然都是依据边界值分析法、等价类划分等;
2、多数采用黑盒的测试方法,来验证业务功能是否得到正确的应用;
3、需要检查界面的布局、风格和按钮等是否简洁美观、是否统一等;
4、测试页面载入和翻页的速度、登录时长、内存是否溢出等;
5、测试应用系统的稳定性等。
参考资料来源:网络—web测试
② 云测试平台有如何优势
云平台的好处:
第一,物理资源被整理成虚化的逻辑资源,所有使用者共享,系统集中调度使用
第二,开放的接口,共用的api开放给开发者开发第三方应用,方便快捷
第四,地理位置不受限制,可以分布在各个地方,只要网络互联
③ 云测试服务平台100块几小时
购买一套自动化测试软件至少花8000元钱,测试中只需要使用2个月,但如果按800元/月租用该软件云测试平台,只需要支付1600元。同时随着企业软件版本和技术的发展,依赖的测试软件或环境亦需要升级换代,又会产生升级和维护费用。而在云测试环境中这些因素都无须企业考虑,交由提供云测试服务的供应商完成即可。
支持用户通过web浏览器形式远程连接精灵云测 机房的1000+台Android/iOS真机设备,随时随地进行远程测试和调试,快速定位兼容问题。
④ 有适合测试web app的自动化测试工具么
1、Monkey是AndroidSDK自带的测试工具,在测试过程中会向系统发送伪随机的用户事件流,如按键输入、触摸屏输入、手势输入等),实现对正在开发的应用程序进行压力测试,也有日志输出。实际上该工具只能做程序做一些压力测试,由于测试事件和数据都是随机的,不能自定义,所以有很大的局限性。2、MonkeyRunner也是AndroidSDK提供的测试工具。严格意义上来说MonkeyRunner其实是一个Api工具包,比Monkey强大,可以编写测试脚本来自定义数据、事件。缺点是脚本用Python来写,对测试人员来说要求较高,有比较大的学习成本。3、Instrumentation是早期Google提供的Android自动化测试工具类,虽然在那时候JUnit也可以对Android进行测试,但是Instrumentation允许你对应用程序做更为复杂的测试,甚至是框架层面的。通过Instrumentation你可以模拟按键按下、抬起、屏幕点击、滚动等事件。Instrumentation是通过将主程序和测试程序运行在同一个进程来实现这些功能,你可以把Instrumentation看成一个类似Activity或者Service并且不带界面的组件,在程序运行期间监控你的主程序。缺点是对测试人员来说编写代码能力要求较高,需要对Android相关知识有一定了解,还需要配置AndroidManifest.xml文件,不能跨多个App。4、UiAutomator也是Android提供的自动化测试框架,基本上支持所有的Android事件操作,对比Instrumentation它不需要测试人员了解代码实现细节(可以用UiAutomatorviewer抓去App页面上的控件属性而不看源码)。基于Java,测试代码结构简单、编写容易、学习成本,一次编译,所有设备或模拟器都能运行测试,能跨App(比如:很多App有选择相册、打开相机拍照,这就是跨App测试)。缺点是只支持SDK16(Android4.1)及以上,不支持HybirdApp、WebApp。5、Espresso是Google的开源自动化测试框架。相对于Robotium和UIAutomator,它的特点是规模更小、更简洁,API更加精确,编写测试代码简单,容易快速上手。因为是基于Instrumentation的,所以不能跨App。配合AndroidStudio来编写测试的简单例子6、Selendroid:也是基于Instrumentation的测试框架,可以测试NativeApp、HybirdApp、WebApp,但是网上资料较少,社区活跃度也不大。7、Robotium也是基于Instrumentation的测试框架,目前国内外用的比较多,资料比较多,社区也比较活跃。缺点是对测试人员来说要有一定的Java基础,了解Android基本组件,不能跨App。8、Athrun是淘宝出的一个移动测试框架/平台,同时支持iOS和Android。Android部分也是基于Instrumentation,在Android原有的类基础上进行了扩展,提供一整套面向对象的API。这里有详细介绍。9、Appium是最近比较热门的框架,社区也很活跃。这个框架应该是是功能最强大的,它的优点:它的哲理是:它的设计理念:相关限制:总结:在iOS部分是封装了UIAutomation;Android4.2以上是用UiAutomator,Android2.3~4.1用的是Instrumentation,也就说Appium同时封装了UiAutomator和Instrumentation。所以Appium拥有了以上几大框架的所有优点:跨App,支持NativeApp、HybirdApp、WebApp,还支持N种语言来编写你的测试脚本。如果你在Windows使用Appium,你没法使用预编译专用于OSX的.app文件,因为Appium依赖OSX专用的库来支持iOS测试,所以在Windows平台你不能测试iOSApps。这意味着你只能通过在Mac上来运行iOS测试。Client/Server架构,运行的时候Server端会监听Client端发过来的命令,翻译这些命令发送给移动设备或模拟器,然后移动设备或模拟器做出响应的反应。正是因为这种架构,所以Client可以使用Appiumclientlibraries多种语言的测试脚本,而且Server端完全可以部署在服务器上,甚至云服务器。Session,每个Client连接到Server以后都会有一个SessionID,而且Client发送命令到Server端都需要这个SessionID,因为这个seesionid代表了你所打开的浏览器或者是移动设备的模拟器。所以你甚至可以打开N个Session,同时测试不同的设备或模拟器。DesiredCapabilities,其实就是一个键值对,设置一些测试的相关信息来告诉Server端,我们需要测试iOS、还是Android,或者换是WebApp等信息。AppiumServer是Node.js写的,所以可以直接用NPM来进行安装。AppiumClients,MacOS和Win下提供GUI,不需要装Node.js,方便测试人员操作。用Appium自动化测试不需要重新编译App;支持很多语言来编写测试脚本,Java、Javascript、PHP、Python、C#、Ruby等主流语言;不需要为了自动化测试来重造轮子,因为扩展了WebDriver。(WebDriver是测试WebApps的一种简单、快速的自动化测试框架,所以有Web自动化测试经验的测试人员可以直接上手);移动端自动化测试应该是开源的;开源;支持NativeApp、HybirdApp、WebApp;支持Android、iOS、FirefoxOS;Server也是跨平台的,你可以使用MacOSX、Windows或者Linux;
⑤ 求一些国内外的App自动化测试平台,最好能走全过程的自动化,人力不够,产品要急着上线
优测挺不错的,价格也比较合适,而且他家是腾讯旗下的产品,APP自动化测试经验很丰富,而且机型很全,不但支持企业在国内任何地方分享或使用分享的设备,还通过在香港架设服务节点,支持企业使用海外的分享设备。
⑥ web测试中对客户端和服务器的性能测试都涉及到什么
这种就类似于云计算等后端基础服务的测试,对于一些大的公司,会有一个专门的团队来开发这种后端基础服务,这种服务当然也需要测试人员来保证质量。
这类服务一般都是通过HTTP接口的方式提供给刚才讲的WEB/APP的后端使用,所以,第一个要做的也就是接口测试,也就是用Postman等工具做手工测试、用TestNG+HttpClient或者Python的Nose框架做自动化测试。
不过,对于这类后端服务来说,接口只是暴露给外用的部分,内部逻辑通常是非常复杂的,所以,除了针对接口做测试之外,测试人员还需要细致地了解这些服务端产品的技术框架及技术实现,需要了解到模块的级别,对于系统框架图、时序图等都有很好的理解。针对这些理解去设计用例,再跟开发一起讨论如何实现用例。
如果这种基础服务用了某一个开源软件,那通常也需要测试人员能关注社区的进展,并把我们发现的Bug及解决方案等推到社区,为社区做贡献。
除了接口测试之外,在我们公司,异常测试、稳定性测试、性能测试也是服务端测试必备的测试类型。
异常测试会模拟各种异常情况,比如硬件异常-机器挂掉的情况下能否启动备机、硬盘挂掉的情况下是否会丢失数据;网络异常-网络忽然断掉、或者网络流量变小的情况;系统异常-操作系统忽然挂掉的情况。这些极端的情况出现的时候,我们需要验证数据有没有丢、能不能尽快启动备机对外提供服务、系统状态有没有异常等。我们会采用各种方式或者工具来模拟这些异常,比如用TrafficControl工具来控制网络流量。
稳定性测试,就是模拟系统在7*24的运行下会不会出问题,一般会用接口测试或者性能测试用例不断地跑,在运行期间,我们会模拟各种情况,比如说负载的变化、系统的各种干扰等。可以用ChaosMonkey等工具来进行这类测试。
性能测试,其实细分起来会有各种类型,比如负载测试、压力测试、配置测试、甚至还有线上压测、容量规划等。最常规的性能测试,一般是先规定一个系统需要承受的压力,比如说,某一个系统,1个小时之内会有1W单的单子,那基于这个需求我们分析服务器后端需要承受的压力,分析出来以后,就写性能测试脚本,然后逐渐增加压测的力度,直到超过这个预定的压力。通常在这个测试过程中会发现各种问题,比如数据库索引没有建、线程池太小、系统异常等。需要解决了之后再加大压力测试。也是用Grinder/JMeter等工具来进行性能测试,不过难的不是这些工具的使用,而是发现问题以后的定位。
对于这种后端服务的测试人员来说,技术上的要求是挺高的,需要有较好的编程能力,需要对数据库、操作系统等机制有很好的了解才行。
⑦ 现在软件测试都集中在web测试吗
当然不是,移动端也是主流趋势,并不是只是局限在web端
⑧ 如何测试响应式web
方法: 旧版本的谷歌浏览器,没有自动响应式测试的功能,可以在谷歌应用市场
安装一款名为“Mobile/RWD Tester”的插件。新的谷歌浏览器自带响应式测试功能,可以进行响应式网站的测试。 在网络搜索引擎搜索“Firefox Developer Edition”关键词,在搜索结果中,点击“Firefox Developer Edition — Mozilla”,进入Firefox Developer Edition官方网站。
下载Firefox Developer Edition 即火狐浏览器开发者版本,点击下载的可执行文件进行安装。
安装成功之后,点击开发者工具按钮,在下拉菜单中点击“响应式设计视图”,出现浏览器自带有响应式测试功能。
使用一个响应式网站进行测试,可以根据需要切换不同的屏幕分辨率。
BrowserStack 是一个提供网站浏览器兼容性测试的在线云端应用,支持9大操作系统上的100多款浏览器。支持本地测试,预装有完备的开发者工具。BrowserStack在近期发布了API,移动开发者将会进一步提高测试效率。
除此之外,还有“网络移动云测试中心”提供响应式测试服务,选择,其中的Web App测试服务,输入网站即可进行测试。
⑨ 怎样搭建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都通过后触发部署生产包到生产环境。部分用户群较大的产品还需要配置灰度发布。
⑩ 百度移动云测试中心的云测试
网络移动云测试服务首次对外开放,通过“两种类型”、“三个维度”、“六种测试” 十分钟内完成上百种主流手机环境下的自动化测试,全面检测Android应用。
两种应用类型:
· Native App 本地应用
· Web App 网络应用
三个维度:
· 支持Android多版本测试
· 支持多种分辨率测试
· 支持Top 100 Android主流真机
六种测试:
· 安装卸载测试
· UI适配测试
· 稳定性测试
· 遍历测试
· 性能测试
· 录制回放功能测试 NativeApp测试是网络移动云测试中心(MTC)推出的针对Android原生应用的测试服务。包括以下多种测试:
· 安装/卸载测试:提供了应用在上百款机型的安装/卸载测试。
· UI适配:测试应用对各种屏幕大小的适配情况,避免尺寸过多造成应用与屏幕不匹配的情况。
· 稳定性测试:稳定性测试可以发现应用运行当中的bug,避免出现应用崩溃的情况。
· 遍历测试:与Monkey测试不同,模拟手动测试遍历应用的UI操作,实现真正的一键式测试。
· 性能测试:启动时间/流量/CPU占用/内存占用/耗电量各项数据记录并生成报告。
· 录制回放测试:提供单机录制脚本,云端多机回放方式的功能测试方法。 Web App测试是网络移动云测试中心(MTC)提供的针对移动WebApp进行的测试。可以针对不同Android版本、屏幕分辨率和浏览器进行测试,并返回最终测试结果。测试者通过提交测试任务的方式,将测试对象(WebApp URL)、测试行为(标准文本测试用例)、测试条件(操作系统、分辨率、浏览器组合)等通过网页选择的方式提交到MTC。由MTC在云端完成测试环境准备、任务调度执行和生成测试报告。测试者只须关注于测试业务逻辑(功能、性能、兼容性),MTC保证环境稳定性、调度正确性和执行结果可靠性。Web App测试属于前瞻性技术,体现各种组合下的兼容性测试,包括Android和IOS平台。目前该项测试还处于公测阶段。