在我自己的案例中,我们的开发团队追求对许多不同软件工件的同行评审(需求分析,测试计划,代码等).同行编程甚至不被视为一种选择.
同行评审实践从顶部推下,开发人员从未接受过.我们有一个外部SQA小组,从活动中收集指标,但由于努力是半心半意,这些数字是相当无价值的.经过多年这种"官方"的做事方式,开发商已经集体忽视了规定的程序.
现在,对于何时将错误插入生命周期的可见性较低.不进行同行评审导致团队专业化程度提高......没有人真正了解系统专用区域之外的组件要求/逻辑.
了解您的同伴评论或结对编程的经历,尤其是成功案例,将会很有价值.
在 Cypress.io 中,如果满足特定条件,我是否可以强制测试失败?
例子:
在我的网页上,如果字符串“抱歉,出了点问题”。出现在我希望测试失败的页面上。目前这就是我正在做的事情。
/// <reference types="Cypress" />
describe("These tests are designed to fail if certain criteria are met.", () => {
beforeEach(() => {
cy.visit("");
});
specify("If 'Sorry, something went wrong.' is present on page, FAIL ", () => {
cy.contains("Sorry, something went wrong.");
});
});
Run Code Online (Sandbox Code Playgroud)
现在,如果“抱歉,出了点问题”。找到了,测试成功。如果满足此条件,我如何无法通过测试?
人们认为[高级]开发人员与测试人员的比例最好?
显然,这在一定程度上取决于开发/维护吞吐量,但新公司/项目是否可以起作用?
此外,您会使用"纯"测试人员,还是将测试与其他角色(例如文档,用户培训等)结合起来?
显然,答案可能取决于所使用的公司战略/开发模型,因此请说明您是否正在回答,或者是否针对特定类型的产品/发布,等等.
我正在开发一个大量使用shell扩展的项目.我希望尽可能在任何版本的Windows中测试它.有没有为此设计的服务?几乎像VPS主机但具有零售XP,XP SP1,XP SP2等的操作系统映像
一家公司在少数国家拥有小型开发团队.
几年后,它成功发布了基于数学和跨分支工程基础科学(和高科技)研究的软件产品(MS Visual Studio 2008 C++中的客户端,Java中的C#和服务器).
软件开发不是基于TDD(测试驱动开发),没有单元测试,还有QA部门等.
该公司开始引入2-3人的QA小组(部门和,以及QA实践/政策).
首要任务是建立GUI和API的(自动)测试实践.
单元(或模拟)测试或TDD(测试驱动开发)的引入对于QA的成功是否必不可少且必不可少?
更新:
数据库存储是MS SQL Server.
Update2:
感谢所有人,但我发布了http://testing.stackexchange.com/questions/791/what-are-in-qa-besides-testing
我知道事后的单元测试(或者说,模拟)可能应该包含在重复出现的错误中,但它们应该是第一个引入的问题吗?
可能的首要问题及其订单有哪些?应该是开发人员还是"测试人员"引入的事后单元测试?
如果没有单元(模拟)测试,QA可能有效吗?
Update3:
感谢评论TDD不是单元测试,我开始阅读:
读完之后被问到:
我正在寻找一种定期测试我的Web应用程序的前端性能的方法.
具体而言,我很感兴趣,它需要解析主机名,从服务器获得响应,下载/渲染/执行资源,等等.我也想衡量这些东西到时候交互与应用,不只是当加载了页.
我可以在手动与我的Web应用程序交互时使用Firebug或Chrome开发人员工具,但我希望这种前端性能测试成为我持续集成过程的一部分.我希望每晚都有前端性能测试结果,以便更容易捕获性能回归.这就是为什么我的一个初步结论是我想利用我现有的功能性Selenium/WebDriver测试套件(或测试套件的一个子集).
因此,假设我使用Selenium与我的Web应用程序进行交互,我真正需要的是一种测量浏览器前端性能的工具.
到目前为止,我已经看了三个选项:
browsermob-proxy是一个开源代理,使用HAR格式捕获性能数据.除Java和NodeJS绑定外,它还提供HTTP REST API.因为它是分析HTTP流量的代理,它不会向我提供有关浏览器中发生的事情的任何信息(例如渲染等),这是我最感兴趣的.
WebPagetest也是开源软件,可在webpagetest.org上以免费云服务的形式获得.设置此服务的私有实例是可能的(而不是太难).我给它一个URL,我得到了该页面加载的性能报告.但是,当我与它交互时,它不允许我监视应用程序 - 这是至关重要的 - 特别是在单个页面Web应用程序中,客户端有很多东西 - 比如我的.
Compuware APM AJAX版是免费的(如免费提供的)专有软件,它使用浏览器插件在浏览时从浏览器中捕获信息,这意味着它可以在Selenium测试套件执行期间自动收集数据.
将其自动化并将其执行集成到持续集成过程中非常容易,但报告还有很多不足之处.测试结果分为"会话",这是从浏览器窗口打开到关闭之间的时间段.没有用于比较测试结果的功能,这使得很难跟踪进度并捕获回归.
Compuware APM AJAX版是迄今为止我见过的最好的选择 - 但是必须有更好的东西 - 对吧?
我们目前正在准备我们的测试部门,以获取我们最新项目的新版本.我们显然希望他们遵循一个全面的测试软件的计划,并确保在发布之前将错误传回给我们(开发团队).
在创建此测试计划时是否有任何好的工具或方法?
今天,当我使用selenium webdrive时,我收到了一个错误.我的平台是mac osx.这是我的异常日志.
ruby-1.9.2-p0 > Selenium::WebDriver.for :firefox
Selenium::WebDriver::Error::WebDriverError: unable to bind to locking port 7054 within 45 seconds
from /Users/Apple/.rvm/gems/ruby-1.9.2-p0/gems/selenium-webdriver-0.1.0/lib/selenium/webdriver/firefox/socket_lock.rb:48:in `lock'
from /Users/Apple/.rvm/gems/ruby-1.9.2-p0/gems/selenium-webdriver-0.1.0/lib/selenium/webdriver/firefox/socket_lock.rb:29:in `locked'
from /Users/Apple/.rvm/gems/ruby-1.9.2-p0/gems/selenium-webdriver-0.1.0/lib/selenium/webdriver/firefox/launcher.rb:32:in `launch'
from /Users/Apple/.rvm/gems/ruby-1.9.2-p0/gems/selenium-webdriver-0.1.0/lib/selenium/webdriver/firefox/bridge.rb:21:in `initialize'
from /Users/Apple/.rvm/gems/ruby-1.9.2-p0/gems/selenium-webdriver-0.1.0/lib/selenium/webdriver/common/driver.rb:38:in `new'
from /Users/Apple/.rvm/gems/ruby-1.9.2-p0/gems/selenium-webdriver-0.1.0/lib/selenium/webdriver/common/driver.rb:38:in `for'
from /Users/Apple/.rvm/gems/ruby-1.9.2-p0/gems/selenium-webdriver-0.1.0/lib/selenium/webdriver.rb:51:in `for'
from (irb):8
from /Users/Apple/.rvm/gems/ruby-1.9.2-p0/gems/railties-3.0.1/lib/rails/commands/console.rb:44:in `start'
from /Users/Apple/.rvm/gems/ruby-1.9.2-p0/gems/railties-3.0.1/lib/rails/commands/console.rb:8:in `start'
from /Users/Apple/.rvm/gems/ruby-1.9.2-p0/gems/railties-3.0.1/lib/rails/commands.rb:23:in `<top (required)>'
from script/rails:6:in `require'
from script/rails:6:in `<main>'
Run Code Online (Sandbox Code Playgroud)
我不知道为什么会这样.我的firefox路径是默认路径.谢谢您的帮助!!
我在过去几天一直在研究自动验收测试,了解BDD&JBehave,FitNesse&Slim,Selenium和WebDriver等.
我刚刚看到这个,他演示了如何使用FitNesse的编写和维护这样的测试视频由罗伯特C.马丁.接近尾声时,有人问这些测试是否会触及用户界面.Martin接着解释说,对UI的耦合验收测试成本很高,因为对UI的更改非常频繁.我还可以猜测,这些测试只能在UI开发之后编写,这将使测试人员按照定义落后于计划.
我不得不问:替代方案是什么?Martin似乎暗示测试应该是一个隐藏的层,它会操纵应用程序的业务层.我的理解是,这需要额外的工作,更不用说它会暴露一个新的API,需要在生产环境中保护一次.
可以通过应用程序服务访问业务层就足够了吗?
你有什么经验吗?
感谢分享!
编写Java类时,使用IDE生成方法并不罕见
toString()equals()hashCode()但是一旦使用IDE生成它们,它们就会成为代码库的一部分(在SCM中),因此所有质量测量方法都适用.
特别是equals和hashcode方法包含许多条件.如果我不编写单元测试,代码覆盖率(line-,condition-,mutation-)的得分相当低,特别是如果被测试的类不那么大.
一些覆盖工具支持过滤(即cobertura),其他(即jacoco)则不支持.但覆盖工具只露出一个症状 - 未经测试的代码 - 因此我不是在问,是否要抑制/忽略症状,而是如何处理根本原因.
问题是:我应该为这些方法编写单元测试吗?
我不是要求一般生成的类,比如JAXB pojos,WS-Clients等,它们可以很容易地自动生成并从覆盖率分析中排除.