标签: qa

良好的质量保证/测试播客

任何人都可以为质量保证/测试人员推荐一个好的播客.我发现开发方面有很多种,但尚未找到QA/Testing的好方法(不是从开发人员的角度来看).

testing podcast qa

9
推荐指数
0
解决办法
4565
查看次数

在PHPUnit中测试具有依赖项的对象

对于组成另一个对象作为其实现的一部分的对象,编写单元测试的最佳方法是什么,只有主要对象才会被测试?琐碎的例子:

class myObj { 
    public function doSomethingWhichIsLogged()
    {
        // ...
        $logger = new logger('/tmp/log.txt');
        $logger->info('some message');
        // ...
    }
}
Run Code Online (Sandbox Code Playgroud)

我知道可以设计对象以便可以注入logger对象依赖项并因此在单元测试中进行模拟,但情况并非总是如此 - 在更复杂的场景中,您需要组合其他对象或调用静态方法.

由于我们不想测试logger对象,只有myObj,我们如何进行?我们用测试脚本创建一个stubbed"double"吗?就像是:

class logger
{
    public function __construct($filepath) {}
    public function info($message) {}
}

class TestMyObj extends PHPUnit_Framework_TestCase 
{
    // ...
}
Run Code Online (Sandbox Code Playgroud)

这对于小对象来说似乎是可行的,但对于更复杂的API而言,这将是一个痛苦,其中SUT依赖于返回值.另外,如果你想测试对依赖项对象的调用,你可以使用模拟对象吗?有没有办法模拟由SUT实例化的对象而不是传入?

我已经阅读了关于模拟的手册页,但它似乎并没有涵盖这种依赖是由组合而不是聚合的情况.你怎么做呢?

php phpunit unit-testing qa

9
推荐指数
2
解决办法
6205
查看次数

获取/访问Citrix环境以实现QA目的

我们有一个通过ClickOnce提供并由Web服务驱动的Windows Forms,.NET 2.0应用程序,我们的客户偶尔希望将其部署到Citrix环境中.在某些情况下,客户选择允许我们的应用程序在本地部署到用户计算机并绕过Citrix服务器,在一种情况下,我们已经为客户提供了静态安装程序,条件是不会自动推送更新,在某些情况下,我们的客户IT部门已经掌握了使ClickOnce部署在Citrix环境中工作的技术知识.

我的问题不是关于ClickOnce与Citrix问题本身 - 我们从在线研究和与客户交谈中学到了相当多的东西 - 但是关于我们第一手查看问题的最具成本效益的方法.特别是对于那些Citrix客户或供应商而言,我们设置Citrix QA环境(特别是Citrix用于桌面虚拟化)的最有效方式是什么,因为我们没有真正使用Citrix服务器?

testing clickonce qa citrix

9
推荐指数
1
解决办法
841
查看次数

在发布到QA之前测试您的代码

我听过开发人员说编写代码的人不应该是测试代码的人.我在这种情况下寻找人们的经验.很多时候我已经完成了我的开发,然后发布到QA部门并将代码发回给我,因为我的编码打破了应用程序的某些方面,无论我在QA发布之前测试了多少.

这个板上的任何人都有一个可以遵循的流程,这使他们能够在发布到QA之前彻底测试他们的代码吗?

testing qa

9
推荐指数
2
解决办法
5488
查看次数

"标准"测试过程

我意识到术语"标准"很奇怪,因为测试非常依赖项目依赖,但如果我布置一个非常标准的场景,我希望得到关于我应该关注的测试类型的反馈.

我的团队正在创建一个中型数据驱动的Web应用程序.我们正在使用一个相当敏捷的过程.在大多数情况下,要求已经设定,但我们也会在最后一刻得到一些改变.

到目前为止,我们一直在进行大多数手动测试.我们正努力尽可能地实现自动化.我一直在研究一些工具,以下是我认为需要关注的测试类型:

  • 单元测试(测试驱动开发风格) - 由于编写了大量代码,因此在游戏中有点晚了,但是我计划在实现功能之前进行测试.出于这个问题的目的,我们甚至可以假设我没有启动该项目.

  • 集成测试 - 由于我们的应用程序在网上,我想我使用术语集成测试来表示页面之间的链接?什么是一个很好的开源工具(让我们说.NET)?

  • 回归测试 - 我们的单元测试似乎是免费的

  • 数据完整性测试 - 不确定您称之为什么,但只是我们从客户端获取的数据加载到应用程序中的数据是有效的.

  • 功能测试 - 这通常是在GUI中完成的吗?是否有良好的代码驱动选项?

  • 性能和负载测试 - 确保应用程序即使在压力下也能快速响应.

我总是被告知QA团队应该有几乎与开发团队一样多的时间来查看应用程序,但似乎现在许多方面都可以实现自动化.这些天,官方的"QA团队"是不是更少需要?

我的主要问题是:

  • 对于拥有波浪技术团队的中型项目,这是一项合理的测试工作吗?是否有我遗漏或应该关注的大事?
  • 这些测试工作的典型周期是什么?(例如,每次入住或每晚办理单元测试)?
  • 如今,典型的QA工时与发展工时相比如何?

非常感谢!

testing unit-testing qa

9
推荐指数
0
解决办法
1055
查看次数

声纳中假阳性手术究竟是什么意思?

当我在Sonar中遇到违规(违反钻取标签)时,在源代码视图中Sonar有一些动作,如评论,分配等,其中一个是假阳性,我想知道这个操作的确切含义是什么,什么时候应该使用它?

qa sonarqube

9
推荐指数
1
解决办法
4899
查看次数

Selenium WebDriver(2.25)超时不起作用

我想我已经阅读了Stack Overflow上的所有Selenium超时问题,但是我的Selenium webdriver 2.25(Python 2.7绑定)中的隐式和显式超时都没有工作,并且"no_timeout_here ="行都会永远挂起 -

browser = webdriver.Firefox()
browser.implicitly_wait(6)               
browser.set_page_load_timeout(30)        
browser.get("http://www.google.com")
try:
    #no_timeout_here = browser.find_element_by_id("id_not_found")
    no_timeout_here = WebDriverWait(browser, 5).until(lambda browser:
            browser.find_element_by_id("id_not_found"))
except:
    raise
Run Code Online (Sandbox Code Playgroud)

所有指针将不胜感激!

10月16日更新

感谢seleniumnewbie的全面解答,但是你的单元测试代码仍然依赖于我在Python 2.7下的Ubuntu 11.04(64位) -

(2012/10/17 11:51:58)$ time ./timeout.py 
^CTraceback (most recent call last):
...
KeyboardInterrupt

real    2m26.572s
user    0m0.368s
sys 0m0.232s

(2012/10/17 11:54:26)$ python -V
Python 2.7.2+

(2012/10/17 11:57:04)$ uname -a
Linux 3.0.0-26-generic #43-Ubuntu SMP Tue Sep 25 17:19:22 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

(2012/10/17 11:57:10)$ ls selenium-server-standalone-2.25.0.jar
Run Code Online (Sandbox Code Playgroud)

我可以知道您的OS/Python版本吗?

python selenium qa selenium-webdriver

9
推荐指数
2
解决办法
7458
查看次数

Selenium v​​s Fitnesse

想知道Selenium和Fitnesse如何融入软件测试人员的工具库中.应用这些工具在哪里适合?它们是重叠还是互补?

如果有人可以将这些工具放在上下文中,那将会很棒.

testing selenium qa fitnesse

9
推荐指数
2
解决办法
6312
查看次数

如何通过Selenium IDE模拟鼠标点击网站上的空白区域?

我想在表单外的空白区域执行鼠标点击,以便通过Selenium IDE唤醒某些网站的数据流量.有任何想法吗?

我试图点击x,y,但它对我的测试用例没有效果.场景如下:

  1. 填写电子邮件字段
  2. 单击表单外部以使客户端向服务器发送数据请求以检查数据库中是否已存在此电子邮件,然后它会自动完成并启用继续按钮.

javascript selenium automation qa web

9
推荐指数
4
解决办法
2万
查看次数

如何最好地实现简单的崩溃/错误报告?

实现简单崩溃/错误报告机制的最佳方法是什么?

细节:我的应用程序是跨平台的(mac/windows/linux)并用Python编写,所以我只需要一些能给我发送少量文本的东西,例如只是一个时间戳和一个追溯(我已经生成并显示在我的错误对话框).

如果它可以简单地通过电子邮件发送它会很好,但是如果不在应用程序中包含smtp服务器的用户名和密码,我就无法想到这样做...我应该在服务器端实现一个简单的Web服务吗?并让我的应用程序发送带有信息的HTTP请求?有更好的想法吗?

python qa cross-platform error-reporting

8
推荐指数
1
解决办法
1360
查看次数