QTP

功能测试如何突破瓶颈——七年软件测试工程师经验分享

拟墨画扇 提交于 2020-07-25 16:05:23
本文梗概: 1、测试人员的工作有哪些? 2、测试人员的必备技能有哪些? 3、资深测试员的心德体会。 做了那么久测试,你真的知道测试是做什么的吗? 测试人员的工作 看到这个问题,你是不是觉得有点傻?事实上,其实有很多与我们合作的同事并不清楚。下面我们以一个完整的项目,来介绍一下测试人员的工作究竟有哪些。 (1)项目立项,需求产出 很多人都在强调要测试前置,可是这是有条件的,如果你不按项目流程来走,都开发完相应的功能了才告诉测试,测试如何前置啊?所以在项目立项后,需求产出阶段要进行需求评审,确定好开发人员,测试人员,一起参与需求评审会议,此时三方人员根据各自的经验和专长,来讨论一下需求。开发从技术实现角度,测试从用户角度来对需求提出自己的意见,力争通过需求评审达到三方意见一致。一起排出项目周期及各个环节的关键日期,交付物等。 (2)需求开发,测试用例编写 在开发人员开发需求的时候,测试人员必须确定测试方案,编写相应的测试用例,通过xmind, excel编写冒烟测试用例,或者通过编码来编写冒烟测试用例,以供开发提测的时候进行自测;同时编写全面的测试用例,组织三方人员进行用例评审,进行测试必要的前期准备,如测试数据,测试环境等,监控项目周期各个环节执行的情况,如果出现任何风险及时预警。 (3)代码提测,测试阶段 在开发提测后,需要进行测试验收,验证冒烟测试用例的执行情况。如果冒烟测试通过

Why does setting a USER environment variable take 12 seconds?

你说的曾经没有我的故事 提交于 2020-06-26 05:01:32
问题 With the following code, I experience horrible runtime: Option Explicit Dim ShellEnvironment: Set ShellEnvironment=CreateObject ("WScript.Shell").Environment ("USER") Dim Name: Name="MyVar" Dim NewVal: NewVal="This is my value" Services.StartTransaction "SetEnv" ShellEnvironment (Name)=NewVal Services.EndTransaction ("SetEnv") Note that only the Services.* stuff is QTP-specific. The two statements generate the following run result entry, indicating the runtime for the environment variable

Why does setting a USER environment variable take 12 seconds?

廉价感情. 提交于 2020-06-26 05:01:18
问题 With the following code, I experience horrible runtime: Option Explicit Dim ShellEnvironment: Set ShellEnvironment=CreateObject ("WScript.Shell").Environment ("USER") Dim Name: Name="MyVar" Dim NewVal: NewVal="This is my value" Services.StartTransaction "SetEnv" ShellEnvironment (Name)=NewVal Services.EndTransaction ("SetEnv") Note that only the Services.* stuff is QTP-specific. The two statements generate the following run result entry, indicating the runtime for the environment variable

ObjChildItem.Click() not working properly in a loop

可紊 提交于 2020-05-16 22:01:43
问题 I am using UFT One to test a Salesforce Contacts table with two rows that have clickable links, "Jim Bean" and "Marsha Smith". (see attached image). I want to loop through the rows and click on the links and have "ValidateContactProperties" Action get called for each Contact Details page that comes up. The following code works but ObjChildItem.Click() gets executed only the first time. Only Jim Bean's contact profile page is displayed, not Marsha Smith's. For i = 2 to rowCount Set

ObjChildItem.Click() not working properly in a loop

岁酱吖の 提交于 2020-05-16 22:01:36
问题 I am using UFT One to test a Salesforce Contacts table with two rows that have clickable links, "Jim Bean" and "Marsha Smith". (see attached image). I want to loop through the rows and click on the links and have "ValidateContactProperties" Action get called for each Contact Details page that comes up. The following code works but ObjChildItem.Click() gets executed only the first time. Only Jim Bean's contact profile page is displayed, not Marsha Smith's. For i = 2 to rowCount Set

浅谈自动化测试实践经验和教训

隐身守侯 提交于 2020-05-08 16:28:55
做自动化有好一段时间了,经历了自动化从无到有,然后到框架,到现在的平台,以及持续集成,回顾发现由于自己之前经验太浅,走过的弯路太多,现在也还在谨慎的前进着,之前发现早前很多懵懂的经验,现在稍稍清晰,于是想着结合自己的历程精简出一些经验吧。现在经验还是尚浅,如果有更深认识的朋友,互相讨论,谢谢。 一、所谓自动化是为了软件发布服务的,并不只是为了测试服务   以前一直怀疑自动化测试的用处,我们之前花费大力气开发了大量的基于关键字方式的脚本,用来提高测试的覆盖率,每次测试耗费大量时间,但是发现的问题少之又少,虽然说,自动化测试不是用来发现问题的,是用来验证软件没有问题,但是有一个矛盾在于我如果不做自动化测试,问题还是那么少,那么做自动化测试我们难道只是为了追求一个心理感受吗?这个概率问题怎么平衡 后来,这个经验是在与开发一起合作冒烟测试建设,到现在的持续集成建设,开始明白,自动化测试的好处是为了增强开发的灵活性和保证软件开发流程的有序性 1)快速检测新版本的不稳定变更,即冒烟测试,能够快速验证当前build版本是否可以继续下一步或者提测,此处冒烟测试可以是单元测试、集成测试和基本功能覆盖测试,常用的框架和工具:Junit、TestNG和接口测试框架(soapui、httpClient等)、界面测试框架用于基本的界面测试(QTP、RFT、selenium)。 2)尽可能的暴露回归程序的错误

浅谈自动化测试实践经验和教训

為{幸葍}努か 提交于 2020-05-08 16:19:20
做自动化有好一段时间了,经历了自动化从无到有,然后到框架,到现在的平台,以及持续集成,回顾发现由于自己之前经验太浅,走过的弯路太多,现在也还在谨慎的前进着,之前发现早前很多懵懂的经验,现在稍稍清晰,于是想着结合自己的历程精简出一些经验吧。现在经验还是尚浅,如果有更深认识的朋友,互相讨论,谢谢。 一、所谓自动化是为了软件发布服务的,并不只是为了测试服务   以前一直怀疑自动化测试的用处,我们之前花费大力气开发了大量的基于关键字方式的脚本,用来提高测试的覆盖率,每次测试耗费大量时间,但是发现的问题少之又少,虽然说,自动化测试不是用来发现问题的,是用来验证软件没有问题,但是有一个矛盾在于我如果不做自动化测试,问题还是那么少,那么做自动化测试我们难道只是为了追求一个心理感受吗?这个概率问题怎么平衡 后来,这个经验是在与开发一起合作冒烟测试建设,到现在的持续集成建设,开始明白,自动化测试的好处是为了增强开发的灵活性和保证软件开发流程的有序性 1)快速检测新版本的不稳定变更,即冒烟测试,能够快速验证当前build版本是否可以继续下一步或者提测,此处冒烟测试可以是单元测试、集成测试和基本功能覆盖测试,常用的框架和工具:Junit、TestNG和接口测试框架(soapui、httpClient等)、界面测试框架用于基本的界面测试(QTP、RFT、selenium)。 2)尽可能的暴露回归程序的错误

浅谈前端项目自动化测试的实现

非 Y 不嫁゛ 提交于 2020-05-05 12:46:01
今天跟大家分享一下我对前端项目自动化测试的实现。希望对你们有帮助,有说的不好的地方,还请多多指教! 1.允许测试脚本里调用api   我们经常在测试时要做一些准备活动,比如注册一个新用户。这一步骤可能每次花费几分钟时间,那么这时候建议直接调用注册用户的api来生成新用户。每个场景节约几分钟,加起来就多了。 2.允许测试脚本里访问数据库   虽然我们做测试可以说重点在界面上,但是业务逻辑上如果出错了最好也要能找出来。也就是说,我的检查点不止检查页面元素,更先去检查对应数据在数据库里是否正确。好处是数据库里不正确的时候,脚本就不用傻乎乎等个几十秒才报出来页面上的错误。  3.为测试准备独立干净的测试环境 测试如果针对网站,很多时候要考虑在windows系统上跑脚本。一般建议和工作用的电脑分开。如果有条件,还可以自动化搭建这样的测试环境,我们以前是通过云自动搭建符合要求的虚拟机来做。 4.考虑测试逻辑的重要性 通常采用页面对象建模,详见selenium官网。如果是商业工具则一般已经自带对象库,如QTP等都自带了。简单来说就是同样的测试逻辑封装在一起,用的时候直接调,改的时候只改一个地方。 5.在开发阶段考虑可测性 有的app就是不可测,这也动态那也动态,控件各种不标准,自定义。这种是没法做自动化的。比如用selenium去测gmail的网页版,一切都是动态的,那简直疯了也做不成功

浅谈前端项目自动化测试的实现

假如想象 提交于 2020-05-05 11:53:12
今天跟大家分享一下我对前端项目自动化测试的实现。希望对你们有帮助,有说的不好的地方,还请多多指教! 1.允许测试脚本里调用api   我们经常在测试时要做一些准备活动,比如注册一个新用户。这一步骤可能每次花费几分钟时间,那么这时候建议直接调用注册用户的api来生成新用户。每个场景节约几分钟,加起来就多了。 2.允许测试脚本里访问数据库   虽然我们做测试可以说重点在界面上,但是业务逻辑上如果出错了最好也要能找出来。也就是说,我的检查点不止检查页面元素,更先去检查对应数据在数据库里是否正确。好处是数据库里不正确的时候,脚本就不用傻乎乎等个几十秒才报出来页面上的错误。  3.为测试准备独立干净的测试环境 测试如果针对网站,很多时候要考虑在windows系统上跑脚本。一般建议和工作用的电脑分开。如果有条件,还可以自动化搭建这样的测试环境,我们以前是通过云自动搭建符合要求的虚拟机来做。 4.考虑测试逻辑的重要性 通常采用页面对象建模,详见selenium官网。如果是商业工具则一般已经自带对象库,如QTP等都自带了。简单来说就是同样的测试逻辑封装在一起,用的时候直接调,改的时候只改一个地方。 5.在开发阶段考虑可测性 有的app就是不可测,这也动态那也动态,控件各种不标准,自定义。这种是没法做自动化的。比如用selenium去测gmail的网页版,一切都是动态的,那简直疯了也做不成功

浅谈前端项目自动化测试的实现

我的梦境 提交于 2020-05-05 11:30:55
今天跟大家分享一下我对前端项目自动化测试的实现。希望对你们有帮助,有说的不好的地方,还请多多指教! 1.允许测试脚本里调用api   我们经常在测试时要做一些准备活动,比如注册一个新用户。这一步骤可能每次花费几分钟时间,那么这时候建议直接调用注册用户的api来生成新用户。每个场景节约几分钟,加起来就多了。 2.允许测试脚本里访问数据库   虽然我们做测试可以说重点在界面上,但是业务逻辑上如果出错了最好也要能找出来。也就是说,我的检查点不止检查页面元素,更先去检查对应数据在数据库里是否正确。好处是数据库里不正确的时候,脚本就不用傻乎乎等个几十秒才报出来页面上的错误。   3.为测试准备独立干净的测试环境 测试如果针对网站,很多时候要考虑在windows系统上跑脚本。一般建议和工作用的电脑分开。如果有条件,还可以自动化搭建这样的测试环境,我们以前是通过云自动搭建符合要求的虚拟机来做。 4.考虑测试逻辑的重要性 通常采用页面对象建模,详见selenium官网。如果是商业工具则一般已经自带对象库,如QTP等都自带了。简单来说就是同样的测试逻辑封装在一起,用的时候直接调,改的时候只改一个地方。 5.在开发阶段考虑可测性 有的app就是不可测,这也动态那也动态,控件各种不标准,自定义。这种是没法做自动化的。比如用selenium去测gmail的网页版,一切都是动态的,那简直疯了也做不成功