Skip to content

Feed aggregator

New Version of Appvance PerformanceCloud Released

Software Testing Magazine - Thu, 01/22/2015 - 18:54
Appvance has unveiled a new version of Appvance PerformanceCloud. Appvance PerformanceCloud V2.0 is designed to help dev, QA and DevOps organizations to truly leverage cloud computing, agile methodologies and Continuous Integration to run realistic functional, performance, and load tests and triage application issues in least possible time. Running a performance test that truly mimics the real user behavior mainly depends on two factors: tester’s experience in designing the performance test and sophistication of the load testing tools employed in conducting the tests. A critical element of a load or performance ...
Categories: Communities

3 Steps to Get Started with TestTrack Task Boards

The Seapine View - Thu, 01/22/2015 - 17:30

If you haven’t checked out TestTrack’s new task boards yet, here’s a little bit of information to help you get started.

What are task boards?

Task boards provide a visual, interactive view of the items in a folder. They make it easy for your team to communicate and measure progress during a sprint, release, or other milestone. They also help with planning and collaboration during stand-ups, retrospectives, issue triage, and other team meetings. Task boards are used most commonly to support Agile methodologies, but you can also use them if you use Waterfall or any other methodology.

The bottom line is that task boards offer an alternate, more visually pleasing way to work with items in folders.

Task board

Task boards are available in both the TestTrack native and web clients.

You can perform several actions on items in task boards. The most common (and cool!) thing you’ll do is easily change the status of an item by dragging and dropping it between status columns.

How do I get started?

Following are some tips to help a typical TestTrack user get started with task boards. You may not have security permissions to create and manage task boards. If not, contact your TestTrack administrator. Here’s some info to help admins.

1. Look at task boards for existing folders in your project

If you already use folders in your TestTrack project, you can start using task boards pretty quickly. When TestTrack is upgraded to version 2015 or later, a default task board named ‘Default – Folders & Users’ is automatically selected for all folder types (unless another task board was already assigned). No matter what methodology you’re using, this task board can help you visualize your data in a different way than the basic list of items you’re used to when view a folder. Here’s more information about the default task boards.

You may be able to view the default task board if your organization already uses folders and no other task boards are assigned to them yet.

To view a task board, select the folder in the Folders list and click the View task board button.

View task board button

If your organization is already using task boards, you may see a different board when you click the View button. If you ‘Task boards are not configured for this folder’ is displayed, click some subfolders to see if any boards are available.

Example task boards are also available in the TestTrack sample projects. Contact your administrator to see if those projects are available in a test environment for you to explore.

2. Get familiar with task boards

Learn more about the different components that make up a task board: cards, columns, and swimlanes. Familiarize yourself with the data you can see in a task board. See Task board components. It’s helpful if you can look at a task board while you read this information.

3. Learn what you can do in task boards

In task boards, you can drag cards between columns to change item status, perform actions on items, enter hours for work performed, and view project information. See Using task boards.

Don’t perform actions in task boards in your production environment! You may inadvertently change live data. Use a test environment to experiment. Your TestTrack administrator can help you with that.

Want more getting started information? Keep reading.

How do I create task boards?

If you’re responsible for creating and managing task boards, we have plenty of information to help you get started. Check out the following information:

Share on Technorati . del.icio.us . Digg . Reddit . Slashdot . Facebook . StumbleUpon

Categories: Companies

Three Reasons Testers Should Test for Opportunities…and Not Bugs

uTest - Thu, 01/22/2015 - 16:00

In my opinion, the role of the tester is evolving. When I started testing in 2002, I had no conunnamedtact with the users or developers. As a result, I had a limited view of the system and what it could do. This limited view also translated into what was expected out of me. As a tester, I was supposed to find defects, and that’s what I did.

However, at least for many people, things have changed, and they have changed for good. Testers are often part of an integrated team now and their role is not limited to find defects. They help teams with whatever they can — from clarifying the requirements to streamlining the release process. Whatever it takes to deliver good-quality software, testers are expected to do that.

I believe the role of a tester is evolving from being a bug hunter to an opportunity hunter. As a tester, we hunt for opportunities that:

  1. Make products useful and usable
  2. Improve the efficiency of delivering software
  3. Increase prospects for the business

If I look back at my experience, I am convinced that opportunity hunter defines my role in a much better way. Let me try and expand on all the points I just mentioned.

I hunt for opportunities which make a product useful and usable

As a tester, I always started my testing exercise or project with a few simple questions. Why was this product built? Which problem does it solve and for whom? In which conditions do they use this product? These are simple questions, but they can reveal many interesting pieces of information and give plenty of interesting test ideas. In fact, I created a pause button for testers to ensure that I always start with the right set of questions.

So what are some of the things you can do to make a product more useful? Some of these might help:

  • Understand the domain
  • Speak with various stakeholders
  • Make yourself familiar with the problem a product is solving
  • Understand the context in which the software will be used
  • Speak with users — what are they doing now?

After we are convinced that product is indeed useful and is solving the right problem for the right user, we can move to the next phase. How do we make this product more usable? You can perform activities such as:

  • Testing software and finding defects
  • Testing with realistic data
  • Testing in a production-like environment
  • Testing as a user

Our bug hunter role fits well with this purpose of making a product useful and usable. However, it is good to see that we are expected to contribute much more than ensuring that a product is usable.

I hunt for opportunities which improve the efficiency of delivering software

I think it is a good idea to understand the entire delivery process — from the analysis right down to the production monitoring. A good understanding of various stages, processes and steps will help us in identifying places where things can be improved.

As a responsible team member, our role is to build and release software which meets expectations of our users and stakeholders. If we understand the process, we can identify the bottlenecks and improve.

Some of the things you can do to improve the efficiency of software delivery are:

  • Automating and looking for the right practices based on the context
  • Working with BAs, developers and the entire team to ensure that there is less rework
  • Keeping an eye on the release process, building pipeline to ensure that there are no bottlenecks
  • Working with DevOps to understand monitoring and using the same tools in the test environment

As a tester, if you can identify bottlenecks and improve efficiency of the delivery process, it will help teams understand that testers are not bug hunters, but rather a gatekeeper!

I hunt for opportunities which improve prospects for the business

As an entrepreneur, I cannot stress how useful this is for organizations. Specifically, for startups like mine. It is good to have testers who can make a product useful and usable, and the delivery process efficient. However, it is great to have testers who also understand what makes money for the organization and what will keep it in business. If you are specifically working in a startup, this can be the most useful contribution you make. You can keep the company alive.

Some of the things you can do in order to improve prospects for the business are:

  • Understanding what makes money for the company
  • Keeping key performance indicators for the product and company in mind
  • Having absolute clarity on which product risks are acceptable and which are not by the business
  • Consciously looking for resources which talk about your product, company and competitors
  • Always asking: How does it help the company?

This list is endless. The more I think about it, the more I am convinced that testers are not bug hunters or script executors anymore. Often, organizations do not know our true potential and the value we can bring. If people at the top think about us as a bunch of people who test and find defects, we might not get the right recognition and responsibilities. However, if we promote ourselves as a group of people who hunt for opportunities to ensure that businesses remain in business, they will have a very different opinion.

So what do you want to become today - a bug hunter or an opportunity hunter?

Anand Ramdeo is one of the founders of Planned Departure. At Planned Departure, he finds different ways to manage our scatteanandred digital life. Prior to focusing on Planned Departure, Anand worked as an independent consultant in the London, UK and helped organizations such as HMRC, Transport For London, Channel-4, BBC, Amazon, and IBM Rational. He is an active member of the software testing community and blogs frequently at TestingGeek.com. He has also presented at various conferences such as Let’s Test, EuroSTAR, and the Selenium Conference. He can be reached on Twitter @testinggeek or on LinkedIn

Categories: Companies

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

Whether it is JMeter, SoapUI, Load Runner, SilkTest, Neotys or one of the cloud-based load testing solutions such as Keynote, Dynatrace (formerly Gomez) or others, breaking an application under heavy load is easy these days. Finding the problem based on automatically generated load testing reports is not. Can you tell me what is wrong based […]

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

Categories: Companies

State of Testing Survey is now live!

PractiTest - Thu, 01/22/2015 - 11:53

state of testing 2015

 

Ready to find out what challenges and best practices are
top-of-mind for your peers in 2015?

It only takes 10 min. to contribute to the improvement of your testing community.

take the survey

 ………..

Find out how your peers test!

Created by QA Intelligence blog and in collaboration with Tea Time with Testers  the survey was made by testers for testers and seeks to identify the existing characteristics, practices and challenges facing the testing community.

See the results from last year’s State of Testing Survey

Categories: Companies

Time to transform to TestOps with a dynamic test delivery platform

MindTree Blogs » Testing - Thu, 01/22/2015 - 08:50
My recent presentation at STARWEST on TestOps and dynamic test delivery platform seemed to strike the right chord with the testing leaders in the audience. I was able to use several CIOs and testing heads as a sounding board for the concept of such a dynamic platform. Several CIOs and testing heads I spoke to […]
Categories: Companies

QTP/UFT VS Selenium [WEBINAR]

Sauce Labs - Wed, 01/21/2015 - 23:25

selenium testing & sauceModern testing practices have shifted dramatically in recent years. As open source tools such as Selenium have begun to be accepted and incorporated into the enterprise testing landscape, proprietary tools like HP’s QTP/UFT have begun to be transitioned out in many cases. While there are many benefits to using a tool like Selenium (for example, it’s maximized when used as an automated testing tool, works with every browser, and plays nicely with all major computer languages and frameworks), the most compelling case to make the transition is the developer and QA time saved.

Join us for our next webinar, QTP/UFT VS Selenium, featuring Tarun Lalwani, QTP Expert and author of QuickTest Professional Unplugged. Hear about how we generated an 80% execution time savings by migrating client’s test suite from QTP to Selenium. We will also answer following questions:

  • How is Selenium different from QTP?
  • Why do I need to migrate to Selenium?
  • What are the advantages and disadvantages of the migration?
  • How do I plan the migration?
  • What challenges will I face during Migration?

Click HERE to register for our next webinar on Wednesday, January 28th, 2015, at 10:00am PST.

A live Q&A will follow at the end of the presentation.

Note: This is not a “how to” or “technology session” on Selenium or QTP. This is session is focused on giving you a understanding whether Selenium is right for you or not.

Categories: Companies

Lies, Damned Lies, and Code Coverage

Sustainable Test-Driven Development - Wed, 01/21/2015 - 20:58
Download the Podcast As unit testing has gained a strong foothold in many development organizations, many teams are now laboring under a code coverage requirement.  75% - 80% of the code, typically, must be covered by unit tests.  Most popular Integrated Development Environments (IDE’s) include tools for measuring this percentage, often as part of their testing framework. Let’s ask a
Categories: Blogs

Creating cloud-based Load Generator Images on Azure with LoadRunner 12.02

HP LoadRunner and Performance Center Blog - Wed, 01/21/2015 - 19:46

HP LoadRunner 12.00 allows you to use Amazon EC2 cloud machines as Load Generators (LGs) for running load testing scenarios from the Controller. LoadRunner 12.02 introduces support for Microsoft’s Azure cloud as well, so you can use your Azure account to provision Load Generators for your load tests. To take advantage of this feature, you first need to create a special Load Generator image, which is then used to deploy the Azure-based Load Generators.

 

Continue reading to learn more about provisioning Load Generators from Azure, and how you can create your own Windows-based Load Generator image.

 

(This post was written by Alexander Zavaliy from the LoadRunner R&D Team)

Categories: Companies

State of Testing Survey 2015 Opening for Participation

uTest - Wed, 01/21/2015 - 18:52

Once again, the team at PractiTest is launching its State of Testing Survey for 2015, bringing together stories aUntitlednd pain points from the testing community around the world.

The 2014 edition of the State of Testing was a rousing success, having garnered over 600 responses. Once again, the study seeks to identify the existing practices and challenges facing the testing community in hopes of shedding light on these issues, and provoking a fruitful discussion towards improvement.

uTest is proud to be a supporter of the third annual survey, along with frequent uTest contributors including Michael Larsen, Stephen Janaway and Daniel Knott.

Join in on the discussion on Twitter using the hashtag #StateofTesting, and spread the word through social. Want to be a part of the 2015 story? You can participate yourself tomorrow once the survey goes live. Stay tuned to the uTest Blog as well for a full recap once results have been tallied.

Categories: Companies

CloudBees in 2015: WE ARE HIRING (Big Time...)

2014 has been a fantastic year for CloudBees. We made some hard strategic decisions and they were exactly the right ones. As a result, we've enjoyed very big growth in 2014 (more to come on that topic) and we have much more in the pipeline for 2015. So what about 2015?

Our motto for 2015 is "SCALE-UP and SCALE-OUT."

SCALE-UP because we are going to accelerate investment in our growth engine (sales and marketing). This will directly translate into hiring in sales (inside, as well as outside roles), marketing (US and EU) as well as support (US and EU). Note that our inside sales hub is in Richmond, VA.

SCALE-OUT because we want to expand to cover more space, more use cases, more depth with Jenkins and Continuous Delivery. Whoever you are (S, M, L or XL), wherever you are (private/public/hybrid cloud, traditional datacenter, etc.), we will satisfy your needs and be #1. That will directly translate into engineering and product management hires. Quite a few of them actually! And the good news is that we are pretty flexible location wise. While we'd rather hire in existing offices (Los Altos (CA), Richmond (VA), Brussels (BE) and Neuchâtel (CH)), we actually have developers in no less than 12 countries today. Those are NOT remote employees: we are, at heart, a distributed company. Distributed is how we operate, how we communicate and how we make decisions. As an example, if you are a top developer, are deadly bored where you are now, feel like you can make a difference on the market and grow a name for yourself, but unfortunately you are not living in the Bay Area, ping us: we are the teleportation machine you need.

We have a few open positions listed on our Career page, but there are more to come so you can either stay tuned and refresh your browser or... not wait and just ping us by sending your résumé with a few words about what would make you excited to work on.

Onward,

sacha
Categories: Companies

Free Software Tests Are Better Than Free Bananas

Testing TV - Wed, 01/21/2015 - 18:39
There is growing interest in leveraging data mining and machine learning techniques in the analysis, maintenance and testing of software systems. This talk discusses how Google uses such techniques to automatically mine system invariants, uses those invariants in monitoring our systems in real-time and alerts engineers of any potential production problems within minutes. The talk […]
Categories: Blogs

uTest Platform Update: New Features for the Week of Jan. 20, 2015

uTest - Wed, 01/21/2015 - 16:30
“Be a yardstick of quality. Some people aren’t used to an environment where excellence is expected.”

– Steve Jobs

This week, we once again rolled out a bunch of new features for the uTest tester platform. We’ll do our best to live up to Steve Jobs’ quote by constantly rolling out new enhancements, and raising the bar for quality for uTesters on paid projects.

Edit Bugs in More Detail

Testers will now be able to edit bugs in more detail with the ability to change the build that an issue was reported against, and update the environments that were selected when initially reporting the issue. This removes the need for testers to use the +1 feature which was a workaround to confirming their own issues to add this data.

Never Lose a Bug Report Again

From now on when you leave the bug report form in any way, the data you entered will be kept in your local browser storage and will be restored as soon as you go back to the bug report form. This will keep all information except attachments, radio button and dropdown options you had selected. The restoring of an unfinished report even works when you close the browser by accident or have to restart your computer.

Please note that this currently stores only one last entered bug report that you did not submit.

TTL Duplicate Bug Warner

To further improve TTL workflows and reduce the number of duplicates, TTLs will now have a built in duplicate bug warner on each of the bug details views, highlighting related issues that were reported before the issue that is currently being viewed.

As a TTL with recommendation rights or approval rights, when opening bug details pages, an indication of the number of similar issues appears at the bottom right of the bug title (e.g. “5 similar issues”) with an exclamation mark icon in front of it. When clicking that link, the right sidebar expands a duplicate bug warner for TTLs.

 

The TTL with basic rights (recommendation only) sees the +1 icon as well as a gray “forbidden” icon that, when clicked, opens a prefilled “pending rejection” dialog, prefilled with the original bug ID and rejection reason.

As a TTL with approval and rejection rights, you have 2 icons — a red one that triggers the direct rejection dialog prefilled with “rejection” as the reason, and the original bug ID filled in.

As always, if you like what you see, feel free to drop a note in the Forums to share your ideas on these and other recent platform updates. We regularly share these words of encouragement to our developers!

Not yet a uTest community member? Learn more about becoming a uTester, and how to get access to training, discussions and paid testing projects. It’s 100% free to you, and registration takes just seconds.

Categories: Companies

Writing up a storm

Agile Testing with Lisa Crispin - Wed, 01/21/2015 - 16:08

Since publishing More Agile Testing with Janet Gregory, I’ve enjoyed time for writing new articles and participating in interviews. Please see my Articles page for links to these. I’d love to hear your feedback on any of these. Have you tried any of the practices or ideas discussed in the articles or interviews?

The post Writing up a storm appeared first on Agile Testing with Lisa Crispin.

Categories: Blogs

TDD and Defects

Sustainable Test-Driven Development - Tue, 01/20/2015 - 23:56
We've said all along that TDD is not really about "testing" but rather about creating an executable form of specification that drives development forward.  This is true, and important, but it does not mean that TDD does not have a relationship to testing.  One interesting issue where there is significant synergy is in our relationship to defects. Two important issues we'll focus on are: when/how
Categories: Blogs

Introducing BugBuster’s new code-free inline Test Editor

BugBuster - Tue, 01/20/2015 - 19:59

We are introducing today a new version of the Test Recorder that generates now your test scenarios 100% code-free! That’s right, no need to get into the API if you don’t have to in order to craft end-to-end functional tests.

The recorded scenario is then available for editing in our brand new inline Test Editor that allows you to modify its content right in your browser!

 

  • Screen Shot 2015-01-14 at 11.40.25

    BugBuster’s Scenario Editor

     

  • The Test Editor

    The Test Editor displays every step of your recorded scenario in a human readable way.

    Steps are numbered and the icon indicates what type of action they perform, for instance Type, Select, Check, etc…

  • Selectors and labels

    Every element on which an action will be performed (type, click…) has a label, making it easier to recognize for non-technical personnel. The Test Recorder will compute a “readable” label during the recording and you are free to edit it of course afterwords.

  • Screen Shot 2015-01-14 at 11.35.36

    Selector Editor

     

  • Screen Shot 2015-01-14 at 11.40.45

    Drop-down lists

     

  • Drop-down lists

    For  <select> drop-down lists we even recall all the items that were available at recording time!

    In this example, we had filled up a payment form using a MasterCard credit card. What if you would like to run the same test, but with a Visa? Simply duplicate your scenario, edit the item and choose Visa instead. Voila!

  • Random data

    The new Test Editor also supports random text insertions. Any value recorded initially can be replaced with randomized text inputs just by checking the “Use random value instead” checkbox.

    Once you’ve “randomized” the input, you can specify what kind of random values you would like BugBuster to use at execution time.  You can choose from various types of random value e.g. first name, last name or email address.

    We will be adding more random value types in the future. Let us know if you are looking for a specific type of value that you would like to have randomized.

  • Screen Shot 2015-01-14 at 11.33.57

    Screen Shot 2015-01-14 at 11.34.46

    Random data

     

  • Screen Shot 2015-01-14 at 12.24.55

    Convert to recorded scenario to a script

     

  • Convert to recorded scenario to a script

    Does your test scenario require some custom logic or do you need to add advanced operations? Then simply convert it to a script and tap into the many features of our powerful JavaScript API.

In future releases, we plan on introducing more customization options, such as a way to add and remove steps and the possibility to create a scenario steps view from scratch, without having to use the BugBuster Test Recorder extension.

Let us know what you think about our brand new Test Editor!

The post Introducing BugBuster’s new code-free inline Test Editor appeared first on BugBuster.

Categories: Companies

Integrating MediatR with Web API

Jimmy Bogard - Tue, 01/20/2015 - 19:25

One of the design goals I had in mind with MediatR was to limit the 3rd party dependencies (and work) needed to integrate MediatR. To do so, I only take a dependency on CommonServiceLocator. In MediatR, I need to resolve instances of request/notification handlers. Rather than build my own factory class that others would need to implement, I lean on CSL to define this interface:

public interface IServiceLocator : IServiceProvider
{
    object GetInstance(Type serviceType);
    object GetInstance(Type serviceType, string key);
    IEnumerable<object> GetAllInstances(Type serviceType);
    TService GetInstance<TService>();
    TService GetInstance<TService>(string key);
    IEnumerable<TService> GetAllInstances<TService>();
}

But that wasn’t quite enough. I also wanted to support child/nested containers, which meant I didn’t want a single instance of the IServiceLocator. Typically, when you want a component’s lifetime decided by a consumer, you depend on Func<Foo>. It turns out though that CSL already defines a delegate to provide a service locator, aptly named ServiceLocatorProvider:

public delegate IServiceLocator ServiceLocatorProvider();

In resolving handlers, I execute the delegate to get an instance of an IServiceLocatorProvider and off we go. I much prefer this approach than defining my own yet-another-factory-interface for people to implement. Just not worth it. As a consumer, you will need to supply this delegate to the mediator.

I’ll show an example using StructureMap. The first thing I do is add a NuGet dependency to the Web API IoC shim for StructureMap:

Install-Package StructureMap.WebApi2

This will also bring in the CommonServiceLocator dependency and some files to shim with Web API:

image

I have the basic building blocks for what I need in order to have a Web API project using StructureMap. The next piece is to configure the DefaultRegistry to include handlers in scanning:

public DefaultRegistry() {
    Scan(
        scan => {
            scan.TheCallingAssembly();
            scan.AssemblyContainingType<PingHandler>();
            scan.WithDefaultConventions();
			scan.With(new ControllerConvention());
            scan.AddAllTypesOf(typeof(IRequestHandler<,>));
            scan.AddAllTypesOf(typeof(IAsyncRequestHandler<,>));
            scan.AddAllTypesOf(typeof(INotificationHandler<>));
            scan.AddAllTypesOf(typeof(IAsyncNotificationHandler<>));
        });
    For<IMediator>().Use<Mediator>();
}

This is pretty much the same code you’d find in any of the samples in the MediatR project. The final piece is to hook up the dependency resolver delegate, ServiceLocatorProvider. Since most/all containers have implementations of the IServiceLocator, it’s really about finding the place where the underlying code creates one of these IServiceLocator implementations and supplies it to the infrastructure. In my case, there’s the Web API IDependencyResolver implementation:

public IDependencyScope BeginScope()
{
    IContainer child = this.Container.GetNestedContainer();
    return new StructureMapWebApiDependencyResolver(child);
}

I modify this to use the current nested container and attach the resolver to this:

public IDependencyScope BeginScope()
{
    var resolver = new StructureMapWebApiDependencyResolver(CurrentNestedContainer);

    ServiceLocatorProvider provider = () => resolver;

    CurrentNestedContainer.Configure(cfg => cfg.For<ServiceLocatorProvider>().Use(provider));
    
    return resolver;
}

This is also the location where I’ll attach per-request dependencies (NHibernate, EF etc.). Finally, I can use a mediator in a controller:

public class ValuesController : ApiController
{
    private readonly IMediator _mediator;

    public ValuesController(IMediator mediator)
    {
        _mediator = mediator;
    }

    // GET api/values
    public IEnumerable<string> Get()
    {
        var result = _mediator.Send(new Ping());

        return new string[] { result.Message };
    }

That’s pretty much it. How you need to configure the mediator in your application might be different, but the gist of the means is to configure the ServiceLocatorProvider delegate dependency to return the “thing that the framework uses for IServiceLocator”. What that is depends on your context, and unfortunately changes based on every framework out there.

In my example above, I’m preferring to configure the IServiceLocator instance to be the same instance as the IDependencyScope instance, so that any handler instantiated is from the same composition root/nested container as whatever instantiated my controller.

See, containers are easy, right?

(crickets)

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

Categories: Blogs

Using Personas in Software Testing

Software Testing Magazine - Tue, 01/20/2015 - 18:21
Personas are fictional archetypes based on the real world that represent a group of users who have common goals. This is a concept that is often used in product and software development. In this blog post, Katrina Clokie expand the concept of personas to the software testing domain. The important thing with personas is the associated knowledge that you collect about their behavior. These personas might already have been defined during the requirements gathering activities of your project, but as you implement this concept in software testing, you will shape the ...
Categories: Communities

Best Practices for Setting up Jenkins Auditing and Compliance


Many Jenkins users look for a recommend a strategy for keeping an audit trail. This article is supposed to be a gap filler until more comprehensive compliance capabilities in JE/JOC are developed.

There are two open source plugins that enable you to track “WHO did WHAT?” in Jenkins: 
  • Audit Trail Plugin: adds an “Audit Trail” section in your Jenkins main configuration page, where it is possible to define where to save logs on who performed particular operations on Jenkins.

Audit Trail - output fileScreen Shot 2015-01-13 at 09.32.28.png
  • Job Config History Plugin: stores all the changes made to jobs (history), saving the config.xml of each job. For each change, it is possible to see the record of the change, compare the difference between the new and the old version and restore a previous version. It is also possible to keep track of the changes made to the system configuration.

Job Config History - compare differences GUI optionScreen Shot 2015-01-13 at 09.24.30.png
Although the Job Config History plugin looks somewhat more complete, this, differently from the Audit Trail Plugin, does not track any information regarding the job execution and the exit status.
Audit Trail - executions of jobs
For this reason, many users use both The Audit Trail plugin and the Job Config History plugins to track both the changes and the executions of jobs.

Packages TraceabilityFor artifacts and packages, Jenkins keep track of those using the fingerprint. However, when they go outside Jenkins, there is no way to track them. Lately Jenkins has become more and more a tool for continuous delivery (CD), and integrating with automation tools is essentials. For this reason, CloudBees has partnered with vendors who offer popular tools, like Chef and Puppet, to enhance Jenkins traceability.

Thanks to the Deployment Notification Plugin applicable to Chef and Puppet, it is possible to keep track of the artifact even when it leaves the jenkins environment to be deployed on a remote server. The information maintained by Jenkins for each deployed package are the date/time, the hostname of the remote server, the environment and the deployment path.


Puppet Plugin - traceability
Audit when Using the Workflow PluginWith the new Workflow plugin, it is possible to configure an entire continuous delivery pipeline in a single job with a simple Groovy-based script, rather than using different jobs and several plugins to orchestrate the execution of the “flow.”

While it is possible to directly insert the Groovy code in the box of the workflow-job ad-hoc configuration page, it is recommended to store the workflow script in a repository and just load it from inside the Groovy box.

Workflow plugin - loading groovy script from repository
In the example above, the workflow script is stored in a local repository, checked out in the building machine, loaded and its functions accessed directly. This guarantees audit and version control since each change made to the script will be committed to the SCM and thus it is possible to keep track of who changed what.

This applies to all Configuration As Code approaches (i.e. DSL plugin, Literate plugin).

Audit when Performing Cluster Operations Using Jenkins Operations Center
With the new (December v1.6) release of Jenkins Operations Center by CloudBees, it is possible to perform management operations to all the client masters in one pass:
  • Restart client masters
  • Backup client masters
  • Run Groovy script on client masters
  • Upgrade Jenkins core on client masters
  • Install new plugins on client masters
  • Enable/disable plugins on client masters
  • Upgrade/downgrade plugin on client masters
Jenkins keeps track of these operations treating them as normal jobs and giving each operation a specific place on the file system where to store execution information and logs.

The same are accessible from the Graphical User Interface (GUI):


Cluster Operations - logs in GUI
If authentication is enabled, information on “WHO did WHAT and WHERE” is visible here.

Although at the moment there is not a unique and satisfying way to implement audit trail, the options presented above, combined together, should give a good coverage to all the activities performed on Jenkins.



Valentina Armenise
Solutions Architect, CloudBees

Follow Valentina on Twitter.


Categories: Companies

Ask the Expert: Michael Larsen Answers Testing Careers Questions

uTest - Tue, 01/20/2015 - 17:28

Michael Larsen is a software tester based out of San Francisco, California. Michael started his pursuit of software testing full-time at Cisco Systems in 1992. After a picture-87071-1360261260decade at Cisco, he’s worked with a broad array of technologies and in industries including virtual machine software, video game development and distributed database and web applications.

Michael is a member of the Board of Directors for the Association for Software Testing, the producer of and a regular commentator for the SoftwareTestPro.com podcast “This Week in Software Testing,” and a founding member of the “Americas” Chapter of “Weekend Testing.” Michael also blogs at TESTHEAD and can be reached on Twitter at @mkltesthead.

In our first Meet the Expert piece, Michael fields questions from uTesters and gives advice on career success in testing.

Is there anything you feel was key for your career success (i.e. was there a thing you did — or still do — that you’re willing to single out as the biggest contributing factor)? Why have all of us have heard of you but not your fellow testers from Cisco? - Milos Dedijer

Michael Larsen: First of all, I think it’s important to realize that just because you have heard of me, it does not speak to the skills (positive or negative) of many of my testing compatriots at Cisco Systems. The reason you have heard of me is that I have made a point of becoming broadly involved in the software testing community. Six years ago, you would not have heard of me either, because I had not made the decision to engage in that manner.

If I had to say what the one thing was that I did to make for a successful career (and to be truthful, I have had more career-specific success in the past six years than I had in the previous sixteen), my blog was a big catalyst for this, as was getting involved in speaking, local meetups, and volunteer initiatives like Weekend Testing and the Association for Software Testing. These all need to be taken cumulatively, but they all stem from the decision to actively become an advocate for better software testing practice and education.

When a tester is looking for a new testing job, which aspects of a perspective company or role are most important, for testers specifically, to consider? - Lucas Dargis 

ML: I think the most important thing any tester can do is ask the company what their vision of software testing actually is, and how they can best help that organization meet its objectives. Too many people in too many careers focus on the job description, the pay, the perks, and not enough on “what problem can I solve for this company?”

Additionally, I would encourage anyone looking to work at any job to see which opportunities to “stretch” are available. If everything is comfortable and there is little to learn in the opportunity, I would consider that a warning sign that you may become bored there over time. I’d also counsel against too great a number of stretches. It can point to you not being a good fit for them.

What do you look for on a resume — both things that you want to see and don’t want to see from prospective candidates? How limited is someone with little to no automated testing experience? - John Schultz and Anshuman Tomar    

ML: The first thing I want to see is a variety of experiences. I want to see that someone is curious and wants to learn as much as possible and apply what they learn. This is why, truthfully, I do not look at their resume as much as I try to see if there are other aspects of their testing life I can observe.

As to automated testing experience, if we are looking for a toolsmith, then yes, it matters a great deal. If we are looking for someone who excels in exploratory testing or has experience with a particular product, then it’s not as critical to me.

Personally, I want to know more about what you’ve done with your programming skills and how they have informed your testing than just “I’ve used Cucumber to automate tests” (or fill in the blank with the technology and medium). I also look to see if any applicants have customer support experience. Truth be told, some of my best testing finds over the years have come from the customer support arena!

I would like to get your take on the relatively flat hierarchy that I usually see in QA or test departments, where most testers report to someone who may be a test lead, QA manager, etc. Does it mean anything if a tester has been at a job for 3, 5 or 10 years and they haven’t moved up the org chart? – John Schultz

ML: I think it depends a lot on what you want to accomplish in your career. Do you want to develop technical skills and be valued for those? Do you want to lead people? Do you want to manage people? Personally, I’ve been very content to lead projects and teams without needing to have the moniker of “manager” or “director” applied to me. Because of that, I’ve typically been an individual contributor on teams, or a team lead.

I think the more important question is, “What does moving up look like to you?” If it is holding an executive position in an organization, then that is something you need to make clear from the outset. Set goals to lead, actively court opportunities to manage teams, and then leverage those opportunities. If your goal is to be a solid technical contributor, then make that clear as well.

You may find, to get the results you are seeking, that you need to make some lateral jumps to different organizations within your company, or to other companies. Regardless of what you choose to do, or how you do it, remember that the curation of your career is 100% your own responsibility. Do not wait for others to recognize your skills or talents.

Be sure to also check out some of Michael’s other contributions to the uTest Blog.

Categories: Companies

Knowledge Sharing

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