Skip to content

Feed aggregator

New eggPlant Performance Tool Launched

Software Testing Magazine - Thu, 01/29/2015 - 18:37
TestPlant, the maker of the eggPlant range of software quality tools, today announced the launch of eggPlant Performance v6, the latest version of the company’s advanced performance and load testing tool. This release introduces cloud-based performance testing for the first time. eggPlant Performance v6 can now automatically and dynamically set-up load-injectors on Amazon AWS and Microsoft Azure servers. This makes it faster and easier for software testers to set-up large performance and stress tests, while reducing the hardware needed to acquire and set-up virtual users. The cloud functionality of eggPlant ...
Categories: Communities

Watch a video of your test scenario running

BugBuster - Thu, 01/29/2015 - 18:02

When a test scenario fails, the more information we have about the problem, the faster we can fix it. BugBuster already gives you a substantial amount of information to reproduce bugs. You get a screenshot for every action, stack traces and all the console messages.

But now, you will also get a video recording of every single scenario execution you run on BugBuster!

 

Screen Shot 2015-01-14 at 13.43.51

 

Curious to see how scenario videos look like? Here is an example with a test scenario creating a new account on our demo Magento eCommerce site:

 

http://blog.bugbuster.com/wp-content/uploads/2015/01/scenario-video1.mp4

 

So kick back, relax, and grab your popcorn because scenario videos are available now on BugBuster.

The post Watch a video of your test scenario running appeared first on BugBuster.

Categories: Companies

Deployment Automation for Multi-Platform Environments

IBM UrbanCode - Release And Deploy - Thu, 01/29/2015 - 16:34

Manual processes and efforts to deliver software changes across an enterprise are notoriously risky, costly, and error prone. Today’s applications are complex and multi-tiered. Deployment often consists of orchestrated changes to multiple subsystems and can involve multiple teams of specialists, with an ever-shrinking release window.

In this video – hear how IBM UrbanCode Deploy automates the deployment of application, database, and configuration changes across hybrid environments, enabling teams to standardize on one solution to coordinate the delivery of on-and off premise services, driving down costs and speeding time to market.

Additional Resources

 

Categories: Companies

Clean Tests: A Primer

Jimmy Bogard - Thu, 01/29/2015 - 16:25

Posts in this series:

Over the course of my career, I’ve an opportunity to work with a number of long lived codebases. Ones that I’ve been a part of since commit one and continue on for six or seven years. Over that time, I’ll see how my opinions on writing tests have changed throughout the years. It’s gone from mid 2000s mock-heavy TDD, to story-driven BDD (I even wrote an ill-advised framework, NBehave), to context/spec BDD. I looked at more exotic testing frameworks, such as MSpec and NSpec.

One advantage I see in working with codebases for many years is that certain truths start to arise that normally you wouldn’t catch if you only work with a codebase for a few months. And one of the biggest truths to arise is that simple beats clever. Looking at my tests, especially in long-lived codebases, the ability for me to understand behavior in a test quickly and easily is the most important aspect of my tests.

Unfortunately, this has meant that for most of the projects I’ve worked with, I’ve had to fight against testing frameworks more than work with them. Convoluted test hierarchies, insufficient extensibility, breaking changes and pipelines are some of the problems I’ve had to deal with over the years.

That is, until an enterprising coworker Patrick Lioi started authoring a testing framework that (inadvertently) addressed all of my concerns and frustrations with testing frameworks.

In short, I wanted a testing framework that:

  • Was low, low ceremony
  • Allowed me to work with different styles of tests
  • Favored composition over inheritance
  • Actually looked like code I was writing in production
  • Allowed me to control lifecycle, soup to nuts

Testing frameworks are opinionated, but normally not in a good way. I wanted to work with a testing framework whose opinions were that it should be up to you to decide what good tests are. Because what I’ve found is that testing frameworks don’t keep up with my opinions, nor are they flexible in the vectors in which my opinions change.

That’s why for every project I’ve been on in the last 18 months or so, I’ve used Fixie as my test framework of choice. I want tests as clean as this:

using Should;

public class CalculatorTests
{
    public void ShouldAdd()
    {
        var calculator = new Calculator();
        calculator.Add(2, 3).ShouldEqual(5);
    }

    public void ShouldSubtract()
    {
        var calculator = new Calculator();
        calculator.Subtract(5, 3).ShouldEqual(2);
    }
}

I don’t want gimmicks, I don’t want clever, I want code that actually matches what I do. I don’t want inheritance, I don’t want restrictions on fixtures, I want to code my test how I code everything else. I want to build different rules based on different test organization patterns:

public class ApproveInvoiceTests {
    private Invoice _invoice;
    private CommandResult _result;
    
    public ApproveInvoiceTests(TestContext context) {
        var invoice = new Invoice("John Doe", 30m);
        
        context.Save(invoice);
        
        var message = new ApproveInvoice(invoice.Id);
        
        _result = context.Send(message);
        
        _invoice = context.Reload(invoice);
    }
    
    public void ShouldApproveInvoice() {
        _invoice.Status.ShouldEqual(InvoiceStatus.Approved);
    }
    
    public void ShouldRaiseApprovedEvent() {
        _result.Events.OfType<InvoiceApproved>().Count().ShouldEqual(1);
    }
}

Fixie gives me this, while none others can completely match its flexibility. Fixie’s philosophy is that assertions shouldn’t be a part of your test framework. Executing tests is what a test framework should provide out of the box, but test discovery, pipelines and customization should be completely up to you.

In the next few posts, I’ll detail how I like to use Fixie to build clean tests, where I’ve stopped fighting the framework and I take control of my tests.

Post Footer automatically generated by Add Post Footer Plugin for wordpress.

Categories: Blogs

Pre-Instrumentation Targets for MSBuild

NCover - Code Coverage for .NET Developers - Thu, 01/29/2015 - 14:17
Pre-Instrumentation Targets for MSBuild

pre_instrumentation_msbuildThe flexibility of NCover pre-instrumentation has been demonstrated in two previous articles describing both the NCover Pre-Instrumentation and the Pre-Instrumentation for Continuous Integration. Pre-instrumentation for coverage collection with NCover can also be integrated directly into MSBuild projects. MSBuild targets are the core of Visual Studio projects and solutions. MSBuild is leveraged by a multitude of build engines, so MSBuild targets to pre-instrument assemblies are very helpful.

Sample Targets
<PropertyGroup>
   <TargetAssembly>$(TargetDir)$(TargetFileName)
       </TargetAssembly>
   <NCOVEREXE>"d:\<install folder>\ncover.exe"</NCOVEREXE>
   <NCOVER_COVERAGE Condition=" '$(NCOVER_COVERAGE)' == '' ">false</NCOVER_COVERAGE>
</PropertyGroup>
<Target Name="TriggerNCoverPreinstrument"
     Condition="'$(NCOVER_COVERAGE)'=='true'"
     AfterTargets="AfterBuild" BeforeTargets="">
   <Message Text="******* SHOULD PRE-INSTRUMENT *********" Importance="High"/>
   <CallTarget Targets="NCoverPreinstrument"/>
</Target>
<Target Name="NCoverPreinstrument">
   <Message Text="NCover Pre-instrumentation for $(TargetAssembly)" Importance="High"/>
   <Exec Command="$(NCOVEREXE) instrument &quot;$(TargetAssembly)&quot;"
       ContinueOnError="true" />
</Target>

Adding these targets to a <project>.Common.targets is a simple way to enable every project in a solution to be assigned the NCoverPreinstrument target and to provide automatic instrumentation on any build command. By default, the NCOVER_COVERAGE property is set to “false” if the value is not otherwise provided before the build.

Most project files will have included projects. In the case below, there’s an include for Microsoft.CSharp.targets and then a second include for a custom project targets file. A custom targets file is a great way to add targets, items, and properties that are common to all project files in a solution.

<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Import Project="..\<my_solution>.Custom.targets" />  
      <!-- may have to add one of these -->
Adding the Targets

In the case above, just edit the <my_solution>.Custom.targets file and add the sample targets above. Custom target files are not included in projects by default. If you don’t have one, you can create one and add an Import command to all your MSBuild project files. A typical custom targets file would look like the following:

<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
   <TargetAssembly>$(TargetDir)$(TargetFileName)</TargetAssembly>
   <NCOVEREXE>"d:\<install folder>\ncover.exe"</NCOVEREXE>
   <NCOVER_COVERAGE Condition=" '$(NCOVER_COVERAGE)' == '' ">false</NCOVER_COVERAGE>
</PropertyGroup>
<Target Name="TriggerNCoverPreinstrument"
   Condition="'$(NCOVER_COVERAGE)'=='true'"
   AfterTargets="AfterBuild" BeforeTargets="">
   <Message Text="******* SHOULD PRE-INSTRUMENT *********" Importance="High"/>
   <CallTarget Targets="NCoverPreinstrument"/>
</Target>
<Target Name="NCoverPreinstrument">
   <Message Text="NCover Pre-instrumentation for $(TargetAssembly)" Importance="High"/>
   <Exec Command="$(NCOVEREXE) instrument &quot;$(TargetAssembly)&quot;"
       ContinueOnError="true" />
</Target>
</Project>
Invoking Pre-instrumentation

These targets give us the flexibility to invoke pre-instrumentation in two separate ways. The first is to add -p:NCOVER_COVERAGE=true to any MSBuild command. This property will signal to MSBuild that pre-instrumentation should be performed on each assembly as it is built in the larger build process. That command would look like one of the following:

In a project folder:
> msbuild /p:NCOVER_COVERAGE=true

A specific project:
> msbuild some_project.csproj /p:NCOVER_COVERAGE=true

A solution build:
> msbuild my_solution.sln /p:NCOVER_COVERAGE=true

The second method to invoke pre-instrumentation is to directly call the NCoverPreinstrument target. This won’t trigger a rebuild of the project source targets, but it will instrument the target assembly from the last build.

In a project folder:
> msbuild /t:NCoverPreinstrument

A specific project:
> msbuild some_project.csproj /t:NCoverPreinstrument

A solution build:
> msbuild my_solution.sln /t:NCoverPreinstrument

Of course, it’s possible to simply add the targets to every project file, but this is one example of target integration with some simple elegance. Please post a reply with your own preferences and improvements.

The post Pre-Instrumentation Targets for MSBuild appeared first on NCover.

Categories: Companies

Visit Ranorex at Swiss Testing Day and Save 15% on the Ticket Price

Ranorex - Thu, 01/29/2015 - 11:15
Ranorex will be at Swiss Testing Day on March 18th, 2015 in Zurich (Switzerland).

Swiss Testing Day is a Software Conference organized by Testers for Testers that will be taking place in the "Kongresshaus" in Zurich, Switzerland.

After the highly successful event last year, this year Swiss Testing Day is celebrating its 10th anniversary. This software testing conference includes first-rate keynote speeches and other interesting talks focusing on innovative solutions, methods and best practices in software quality management and software testing (presentations in both German and English). In addition to the parallel specialist presentations, there are also two top-notch keynote speeches:
  • Adrian Zwingli, Conference Chair, will look back on the last 10 years of software testing.
  • In the second keynote, Andy Holzer, the renowned writer and mountaineer, relates how he climbed to the summit of the world having been blind since birth.
     



The conference will bring together people involved in all aspects of software testing.

Ranorex will participate with an exhibition booth at Swiss Testing Day 2015. We look forward to meeting you for some inspiring discussions about test automation. This year's program at Swiss Testing Day looks great!

Participate in Swiss Testing Day and receive 15% discount on the ticket price by entering the promotional code "Promo_Ranorex" when you register (valid until February 28th, 2015).
Categories: Companies

Agile Testing Days, Utrecht, The Netherlands, March 19 2015

Software Testing Magazine - Thu, 01/29/2015 - 10:30
The Agile Testing Day Netherlands is a one-day conference for and by international software testing professionals involved in Agile work processes. Talks are in English and in Dutch. Its target audience is test managers, test analysts, team managers, software architects, head of quality assurance, consultants, developers and trainers. In the agenda of the Agile Testing Day Netherlands conference you can find topics like “The changing face of Test Management”, “Continuous Testing”, “Object Oriented Testing”, “Agility through Continuous Delivery”, “Improving communication and collaboration by using BDD”, “Be more useful: Test Beyond Quality, ...
Categories: Communities

Results of Puppet Labs' State of DevOps Survey Solidify Case for Continuous Delivery

Over 9,000 people from over 100 countries participated in the 2014 State of DevOps Report conducted by Puppet Labs, IT Revolution Press and ThoughtWorks. Much like we saw in 2013, there is a common acceleration of DevOps within IT organizations but this latest report dives a bit deeper and illustrates a clear impact that acceleration is having on the enterprise.

A number of findings from 2013 were re-confirmed including the frequency of application deployment and lower failure rates found amongst high-performing organizations. However, I thoroughly enjoyed the additional questions that support the statement that IT is not just a cost center, it's a source of profitability, an opportunity for greater market share and a threat to the competition.

Continuous Integration and Continuous Delivery are both earmarked as best practices that correlate most strongly to high IT performance. You can read the entire report yourself here but here are some findings that stuck out to me:
  • "IT performance and well-know DevOps practices, such as those that enable continuous delivery, are predictive of organizational performance." 
  • "It’s not dev versus ops, it’s dev plus ops. When the outcome of a dev and ops interaction is win-win, IT performance wins."
  • "Companies with high IT performance are twice as likely to exceed their profitability, market share and productivity goals." 
  • "Developers breaking large features into small incremental changes and merging their code daily into trunk are strongly correlated with both IT and organizational performance."
  • "Continuous improvement and learning is what sets successful companies apart, enabling them to innovate, get ahead of the competition — and win."
Want to learn more about Continuous Delivery and DevOps? Download this research paper conducted by EMA for Ten Factors Shaping the Future of Application Delivery. Download it here.



Christina Pappas
Marketing Funnel Manager
CloudBees

Follow her on Twitter
Categories: Companies

SonarQube 5.0 in Screenshots

Sonar - Wed, 01/28/2015 - 17:56

The team is proud to announce the release of SonarQube 5.0, which includes many new features

  • Issues page redesign
  • Keyboard shortcuts added to Issues
  • Built-in SCM support

Issues page redesign

With this version of the SonarQube platform, the Issues page has had a complete overhaul.

Issues are grouped in the list by file, and from the list of issues, you can easily navigate to the issue in the context of the code, as you’re used to seeing it,

Issue search has also been overhauled. You can still choose from criteria, but now next to each facet of the criteria, you see a count of the relevant issues.

Selected facets are highlighted in blue, and selecting/deselecting a facet immediately (okay, there’s a quick trip to the server and back) updates your search results and the issue counts next to all the other facets.

Keyboard shortcuts added to Issues

The intent behind the redesign is to allow you to use the Issues page quickly and efficiently to manage issues on a daily basis. To that end, extensive effort has gone into providing a broad set of keyboard short cuts. ‘?’ brings up the list, and Esc closes it.

From the list of issues, right-arrow takes you to the issue-in-context, and left-arrow takes you back to the list. In either context, up-arrow/down-arrow takes you to the next issue – in the same file or the next one – and you can use the shortcuts to comment, assign…

Built-in SCM support

SCM “blame” information has been an important data point in the SonarQube interface for a long time, but until now a plugin was required to use it. Now SCM data comes as part of the platform, with built-in support for SVN and Git.

Speaking of Git, its rise in popularity has meant that the use of ‘/’ in branch names has become increasingly common. Until now, that was unsupported by SonarQube. That changes with 5.0, presumably making many Git-ers happy. :-)

That’s all, Folks!

Time now to download the new version and try it out. But don’t forget that you’ll need Java 7 to run this version of the platform (you can still analyse Java 6 code), and don’t forget to read the installation or upgrade guide.

Categories: Open Source

Better customer service with a better ticket system

Web Performance Center Reports - Wed, 01/28/2015 - 16:22
As part of our continuous efforts to improve our technical support and services, we are moving to a new system for technical support. Our new tech support system is easier for you to use and easier for us to achieve the excellence we strive for. Starting immediately, new support requests submitted via our Load Tester software will be directed into the new system. The new system features: Better support through email: if you prefer email correspondence, you can reply to tickets via email and include attachments Better teamwork: you can CC a coworker to give them access to the ticket so they … Continue reading »Related Posts:
Categories: Companies

uTest Previews uTester of the Year 2014, Launches Community Choice

uTest - Wed, 01/28/2015 - 16:00

uTestLogoBlackuTest is proud to preview that its 6th Annual uTester of the Year awards will be announced February 18, 2015.

These by far are the highest distinction a uTester can receive, and are a celebration our top community members of 2014 — for their dedication to quality, helping others in our community, commitment to uTest projects, and excellence in authored content on the uTest site.

Winners will receive a custom uTester of the Year t-shirt and prize pack, and their names will be forever enshrined in our uTest Hall of Fame. We also have a couple of tricks up our sleeve for this edition — we’ll be launching our first-ever Lifetime Achievement Award!

While our Project Managers, Community Managers (and for the first time ever, Test Team Leads) are already busily voting away behind the scenes, we’re happy once again to bring back the Community Choice Award so our uTesters have their say in the process. We’re looking to our community to nominate their rockstar peers for their work in 2014!

If you are already a uTester, get your vote in for the Community Choice Award category for this year’s awards by Friday, Feb. 6. Also, stay tuned for the announcement of the winner, along with all uTesters of the Year for 2014, in our full announcement on Feb. 18.

Good luck!

Categories: Companies

Key Performance Metrics For Load Tests Beyond Response Time- Part II

In Part I of this blog I explained which metrics on the Web Server, App Server and Host allow me to figure out how healthy the system and application environment is: Busy vs. Idle Threads, Throughput, CPU, Memory, et. Cetera. In Part II, I focus on the set of metrics captured from within the application […]

The post Key Performance Metrics For Load Tests Beyond Response Time- Part II appeared first on Dynatrace APM Blog.

Categories: Companies

Very Short Blog Posts (23) &#8211; No Certification? No Problem!

DevelopSense Blog - Wed, 01/28/2015 - 10:14
Another testing meetup, and another remark from a tester that hiring managers and recruiters won’t call her for an interview unless she has an ISEB or ISTQB certification. “They filter résumés based on whether you have the certification!” Actually, people probably go to even less effort than that; they more likely get a machine to […]
Categories: Blogs

Testing on the Toilet: Change-Detector Tests Considered Harmful

Google Testing Blog - Wed, 01/28/2015 - 02:43
by Alex Eagle

This article was adapted from a Google Testing on the Toilet (TotT) episode. You can download a printer-friendly version of this TotT episode and post it in your office.


You have just finished refactoring some code without modifying its behavior. Then you run the tests before committing and… a bunch of unit tests are failing. While fixing the tests, you get a sense that you are wasting time by mechanically applying the same transformation to many tests. Maybe you introduced a parameter in a method, and now must update 100 callers of that method in tests to pass an empty string.

What does it look like to write tests mechanically? Here is an absurd but obvious way:
// Production code:
def abs(i: Int)
return (i < 0) ? i * -1 : i

// Test code:
for (line: String in File(prod_source).read_lines())
switch (line.number)
1: assert line.content equals def abs(i: Int)
2: assert line.content equals return (i < 0) ? i * -1 : i

That test is clearly not useful: it contains an exact copy of the code under test and acts like a checksum. A correct or incorrect program is equally likely to pass a test that is a derivative of the code under test. No one is really writing tests like that, but how different is it from this next example?
// Production code:
def process(w: Work)
firstPart.process(w)
secondPart.process(w)

// Test code:
part1 = mock(FirstPart)
part2 = mock(SecondPart)
w = Work()
Processor(part1, part2).process(w)
verify_in_order
was_called part1.process(w)
was_called part2.process(w)

It is tempting to write a test like this because it requires little thought and will run quickly. This is a change-detector test—it is a transformation of the same information in the code under test—and it breaks in response to any change to the production code, without verifying correct behavior of either the original or modified production code.

Change detectors provide negative value, since the tests do not catch any defects, and the added maintenance cost slows down development. These tests should be re-written or deleted.

Categories: Blogs

2015 Jenkins User Conferences - Call for Papers

The Jenkins User Conference 2015 is seeking submissions that reflect the latest innovations in Jenkins usage. This is your chance to educate, share and inspire the community with stories of how you've used Jenkins to continuously build that amazing project or how you developed that popular plugin that everyone is using.

If you're gamed, here are some suggestions to get your creative juice going:

  • Scaling Jenkins within the enterprise
  • Jenkins as the orchestrator for continuous delivery
  • Plug-in development
  • Jenkins techniques that solve testing/building problems in specific application areas: mobile, enterprise/web/cloud and UI testing
  • War stories that speak to a problem you faced, the Jenkins solution you implemented to solve it and the results you realized
  • Jenkins best practices, tips and tricks
  • Jenkins in the cloud - if you or your company is currently using Jenkins in the cloud we’d love to hear your story
  • Beyond Java (Jenkins with PHP, Ruby, etc.)

We are upping the ante at this year's JUCs. We are moving from a 1 day conference to a 2 days conference for SF and London - that's 18 additional cutting edge sessions to be learned.

SUBMISSION DEADLINE IS MARCH 8, 2015!

There's also a wide variety of event sponsorship opportunities available. There are offerings from Gold to Silver packages, exhibitor packages in our world-class expo hall, speaking sessions, free passes, and many branding opportunities. For inquiries, pls contact juc-sponsorship@cloudbees.com

Looking forward to receiving your amazing proposals!

Categories: Open Source

Office Hours tomorrow: workflow security model & plugin compatibility

In tomorrow's Jenkins office hours, Jesse Glick will talk about two topics in the workflow plugin that he has been asked about:

  • Security model: script security, permissions
  • Plugin compatibility: SimpleBuildStep and friends, custom steps, etc.

The session should be interesting to anyone using workflow or thinking about using workflow. Jesse is one of the top contributors in the community, so it'd be definitely worth your time!

Categories: Open Source

Exploratory Automated Tests

Testing TV - Tue, 01/27/2015 - 21:15
When most managers think of automated tests they picture automating what the manual testers do in running the tests. Sometimes this is what we desire, but it isn’t the most powerful way to use test automation. This tutorial is about extending your reach to do testing that cannot be done manually. Few organizations are working […]
Categories: Blogs

A first glance at the new web-based controller in LoadRunner 12.02

HP LoadRunner and Performance Center Blog - Tue, 01/27/2015 - 19:36

GraphsLoadRunner 12.02 includes a technical preview of the newly-designed, browser-based Web Controller. While defined as a technical preview and therefore not including all the existing Controller’s features, this version is fully functional and supports defining and running load tests with a variety of popular protocols such as Web, TruClient, SAP GUI and Citrix.

 

Continue reading for an introduction to the new Web Controller’s capabilities.

 

(This post was written by Shaul Strachan from the LoadRunner R&D Team)

Categories: Companies

Better Code Reviews

Software Testing Magazine - Tue, 01/27/2015 - 19:21
This presentation gives you a few code review tips for keeping your code healthy and your team happy. You will learn why talking about code in person is important, how to talk about code without burning bridges and, most importantly, how to take dread out of your workplace. Event: Forward JS Video producer: https://thenewcircle.com/ Further reading: Four Ways to a Practical Code Review
Categories: Communities

Two wonderful testimonials about Urbancode

IBM UrbanCode - Release And Deploy - Tue, 01/27/2015 - 18:59
SilverPop

What happens when production releases go from an all-day Saturday event requiring a small army to a push-button 5 minute process? More velocity, happier customers, and a team that can see their families on the weekend.

Pearson VUE

When failing one in a million times is too much, and continuous delivery is critical.

 

Categories: Companies

Knowledge Sharing

SpiraTest is the most powerful and affordable test management solution on the market today