Skip to content

Feed aggregator

Site Update - Testing and Technology Library

Yet another bloody blog - Mark Crowther - Sun, 03/29/2015 - 19:08
Just a quick update, as it would be easy to miss...

The eagle eyed among you might have noticed I've redesigned the Books page of the main website, with a similar widget appearing on the right of the Blog.
Instead of a few books I've reviewed and making it not worth visiting, the Books section is now a Library of Testing books with a smattering of Technology that’ll help with those testing jobs you get landed with.
What does it contain?The Library is a collection of books that either a) I’ve read over the years or b) come with strong recommendations. As such, it’s not just a bucket full of books, you should recognize them. For example, check out the book by Lisa on Agile testing or the one by William Perry – recognize those?
Good, all items in the Library should be ones that have proven themselves in our profession. That applies to both the books and the hardware, have you got one of these or one of these on your desk? I rest my case then ;)
  • Do you have a favourite book you want included here?
  • Do you have anything good or bad to say about the books in my Library?

Leave a comment and let me know!

Mark,
P.S. Challenge - Join Goodreads and set yourself a 2015 Reading Challenge

------------------------------------------------------------------Enjoyed this post?Say thanks by sharing, clicking an advert or checking out the links above!Costs you nothing, means a lot.------------------------------------------------------------------




Categories: Blogs

Testing Books - 4 of the classics

Yet another bloody blog - Mark Crowther - Sat, 03/28/2015 - 15:53


There are a few 'classic' books about software testing that should be on every serious tester's shelf. Though written a few years ago, they still contain timely advice that's as applicable now as it was when first published.

Agile testingI would suggest that if you read nothing else, you should be reading through Agile Testing: A Practical Guide for Testers and Agile Teams, by Lisa Crispin and Janet Gregory.
Since its first publication the book has had rave reviews and Janet and Lisa remain today as leading lights in defining what agile testing is and how it can be applied to projects.
As the blurb for the book states, readers will come away from this book understanding
  • How to get testers engaged in agile development
  • Where testers and QA managers fit on an agile team
  • What to look for when hiring an agile tester
  • How to transition from a traditional cycle to agile development
  • How to complete testing activities in short iterations
  • How to use tests to successfully guide development
  • How to overcome barriers to test automation
The book is not just a wall of text, but provides a number of diagrams and mind-maps you’ll keep referring to time and again. The authors draw on their experience greatly, sharing examples of situations they’ve encountered and what they did to overcome them.

Grab a copy of Agile Testing: A Practical Guide for Testers and Agile Teams

Lessons Learned
If you're aware of the work of Michael Bolton, James Bach and Cem Kaner around contextual and rapid software testing, then you should already have read the book Lessons Learned in Software Testing. Written by Cem Kaner, James Bach and Bret Pettichord you're guaranteed it's packed full of useful information and ideas.

Broken down into 293 lessons, the book allows you to dip in and read just what's of interest at that time. Think of this as a collection of related essays, where you can read around one topic or read across topics to get a fuller sense of a particular area.

Whether you're a veteran tester or just starting out, this is a great reference book to have on your shelf.
Get your copy of Lessons Learned in Software Testing

Test Design
It feels like this book by Lee Copeland has been around forever. When it was published, it pretty much became the oracle source on test design. A Practitioner's Guide to Software Test Design remains one of the most comprehensive books about test design, a critical skill that we need to apply almost every day.

While the book does focus on the IEEE 829 view of the world, this is no bad thing. Copeland uses that as a framework around which to provide a background to the testing context and then move onto design techniques and their effects in a way that is extremely applicable.

If you ever wanted to really apply Equivalence Class Partitioning, Boundary Value Analysis, Domain Analysis, Use Case Testing and other powerful techniques, this is the book for you.

Upgrade your test design skills by getting a copy of  A Practitioner's Guide to Software Test Design today.


Systematic Software Testing
I don't believe this book is as well known as it should be, like Copeland's book, this is a a heavyweight gem to be sat on all tester's shelves. Unlike Copeland's book that focuses on test design for execution, Systematic Software Testing focuses on the process and practices fundamentals of software testing.

The book focuses on process and practive, makes reference to the IEEE standards but then applies years of experience and know how to subvert that process and show you how to really build a testing practice that'll work.

There's information on the information you'll need, people and documents. The author relates the testing process and practice to the wider development context and ensures the reader is set to deliver well technically as well as a member of the business.

Another must read, so get Systematic Software Testing and round off your understanding.

Mark.


------------------------------------------------------------------Enjoyed this post?Say thanks by sharing, clicking an advert or checking out the links above!Costs you nothing, means a lot.------------------------------------------------------------------


Categories: Blogs

Excel - Best. Test. Management. Tool. Ever.

Yet another bloody blog - Mark Crowther - Sat, 03/28/2015 - 13:05
OK, I may be talking that one up, Excel is not the “best test management tool ever”, but I bet you either of the following ring true:
  •          It’s as used a most of the big name test management tools
  •          It’s what gets rolled out when there is no tool in place
  •          You just did some test/testing management stuff with it recently
There are a number of good quality, free and low cost test management tools out there, but even with that we’ll end up using whatever;
  •          The customer already has in place, paid/free/other
  •          Is easiest for the test team and stakeholder community to work with
I’ll bet you again that where a tool isn’t in place that, whatever-test-management-tool-is-easiest-to-work-with, is Excel.
Given this, we need to make sure we’re up to speed on how to make useful Excel documents that can provide, capture and report testing information and status.

Let me emphasise this again, you ARE going to use Excel extensively in your testing career – so invest some time learning it! Now, this may use may not be so prevalent in a more agilistic environment, but don’t bank it. Just because “we’re agile here” doesn’t mean the definition of what tests will be run and what the outcome was suddenly goes away.
Use it for what?What might we used Excel for?

  • Test Cases– defining them and capturing test run information
  •  Coverage Matrix – defining system coverage by test cases and tracking status of coverage
  • Test Status Tracker – a dashboard of status for test preparation and execution
  • Status Dashboard – analyse data, conditions, status, etc. and present a view to the world
  • Burn Down Dashboard – Number of test cases over time against actual? Excel will map this too
The above might be separate Excel workbooks or combined, they might be cross linked or standalone. You decide what’s best.

As always, there’s no hard and fast rule of what you’ll need to use or how you’ll use it. Take the templates and ideas as just that, then build them out to meet the specific needs of your software testing project.
But why EXCEL?Most of what we deal with is the presentation, capturing and representation of data with some guidance narrative text. That its best in Excel. Sure, you could have Test Cases in Word for example. But how are you going to analyse the numbers and conditions of the data sets? How will you create pretty charts and dashboards?
Just stick with Excel and use other tools for the management extracts you might be called on to provide for the senior levels in the business.
Problems…Using Excel is not without issues. The biggest problem is you’ll most likely en up emailing the document around. Uh oh… filling everyone’s email box up and worst of all - version control nightmare. My advice is don’t do it. Stick it on a shared drive or better still use some extra tool like SharePoint, assuming the client has this and they’re a Microsoft house. You can at least check-out the document then so people know you’re editing it.
Middle ground is have the document on a shared network drive and use the ‘Share Workbook’ feature. You might what to practice using this before doing so in anger.
Be VERY careful clicking that orange highlighted check box...
At worse, stick with an agreed document versioning method and sort out How You Do Documents™. Have a look at my paper on that very topic: A Documentation Model
Where to Get ExcelSo, you’re sat here starry eyed at the thought of all the amazing Excel in your future, but what’s that, you don’t have access to a copy?! I would be stunned if this was the case these days. Apple computers haven’t taken over like Windows and office is usually there somewhere on a Windows machine.
If not… then hit www.live.comor possibly www.outlook.com and sign up for an account. With that you’ll have online access to the office suite and email.
If you need a personal install, go grab a copy from Amazon, using my affiliate link of course (you get extra karma points for that).


TemplatesBe sure to have a look over the site and review the various Excel templates available there:Templates on www.cyreath.co.uk

Have fun!
Mark
------------------------------------------------------------------Enjoyed this post?Say thanks by sharing, clicking an advert or checking out the links above!Costs you nothing, means a lot.------------------------------------------------------------------


Categories: Blogs

Keep what you’ve got, by giving it all away

Yet another bloody blog - Mark Crowther - Sat, 03/28/2015 - 04:45

I remember working at an electronics manufacturer many years ago. The managing director there was an interesting guy, interesting in that his attitude was a little bit back in the 1970s.
One conversation I had with him was about training. My argument was that we should implement a simple training course, more a skills check, for the staff on the line. The idea being that we could ensure a consistency of approach and spot any training needs. After all, getting staff into the business, a new start up at that time, then trained on the products, was a big investment. It was surely wise to ensure everyone was around the same skill level for the core skills.
His response was straight out of the How Not to Manage handbook. Yep, “If we train them, they could leave.” As the retort goes, “… and if we don’t train them and they stay?”This attitude has no place in the modern professional environment. It’s a small minded and fearful attitude. One that reeks of ‘lack’ instead of ‘abundance’. It’s an attitude that if applied to other matters, will help kill off any team, business and even personal life. When consulting or working for an employer in the software testing field, this attitude will be your death knell.
Small Minded Consultants I recently encountered a similar attitude to this again, in my current testing consultancy role.
The scenario here was a conversation with another consultant. I proposed that we should collaborate on some White Papers, proposing service offerings our client could deliver. Showing them how to structure the services, tools needed, likely costs, blockers and enablers. All you’d expect in something that was essentially a business proposal.
The response from the consultant, 15+ years on since the encounter at the electronics company, was like hearing an echo. This time the complaint was that if we show them what they could do in such detail, they wouldn’t need us, they would go off and do it themselves.
Why this is wrong, wrong This is an attitude of fear, of small mindedness and a reflection that this person’s consultative mindset is way off.
First off, I absolutely believe you cannot keep secret everything you know, in an attempt to keep it rarified, believing it will keep you employable. In doing so you, if it’s something new for your client, you will fail to ignite interest in what you can do, fail to place yourself amongst those that are known to know about whatever it is you’re hiding. That means you can’t engage them and have them pay you for the work.
If you have a business, would you hide your products and services or describe them as fully as possible to engage potential clients? Why is it any different when you’re an IT contractor, especially if you’re working for a testing consultancy? It’s not. You need to help your client understand their options and what you can deliver. Then engage them in that and bill them.By being open and giving away what you know, you have the potential to get more back.
What, not How.There is a caveat here though, a little nuance in the approach that any wise consultant will understand.
When schooling your client in whatever it is you believe they may be interested in and that you could deliver – you need to tell them WHAT it is, WHAT the benefits are, etc. You don’t want to tell them HOW. That Know How combined with prior experience is why you’re needed. This is the part of the game that’s understood. Every company shares WHAT it has on offer, the exact How To is why we need them afterwards.
Don’t worry about this approach. When you present something your client is interested in, explaining your prior successes and how you can help guarantee their success – of course the first person they will look to hire to do this thing, is you. Any smart business owner will at any rate. If they’re not smart, then you’re on a route to nothing presenting ideas and opportunities anyway!

Keep an attitude of abundance, not scarcity. And share what you know, tell of the benefits and your experience, give your client options to explore; then wait for it to come back around to you.
Mark
------------------------------------------------------------------Enjoyed this post?Say thanks by sharing, clicking an advert or checking out the links above!Costs you nothing, means a lot.------------------------------------------------------------------


Image src cleverchameleonconcepts.comVia a Free to Share and Use image search filter on bing.com



Categories: Blogs

Facebook Embraces Developers and App Monetization at F8

uTest - Fri, 03/27/2015 - 19:30

On Wednesday, Facebook held its annual F8 developer conference in San Francisco, where they announced a number of new innovations and updates to their current offerings.

If it wasn’t already clear from their spate of acquisitions (Instagram, WhatsA10323555_10101141198471157_883645609_opp) and novel products (Facebook at Work), this conference reinforced the notion that Facebook wants to be seen as a holistic suite of apps. Below are some of the biggest announcements from F8.

Facebook Messenger will be opened up to developers

Facebook revealed that it has paid out over $8 billion to developers using its platform over the past five years. In a move that will surely please the above-mentioned developer community, Facebook announced that they will open up their Messenger platform for the creation of new apps and functionalities. This move should give the 600 million monthly active Messenger users some new toys to play with.

Embeddable videos

By introducing the ability for users to embed their Facebook videos on other sites, Facebook is taking direct aim at YouTube. The addition of this feature improves the usefulness and functionality of Facebook’s main product, and may not only encourage more users to create videos on their platform, but also help drive engagement in general.

Chatting with businesses directly

Facebook has decided business transactions should be more personal. In order to make this a reality, they have introduced the ability for users of Messenger to complete orders through the app, and communicate about their order with employees of the business they are buying from.

Is this something that shoppers want? In many ways that remains to be seen, but there is something to be said for making the steps from purchase to delivery more transparent, and giving consumers a more social experience.

Analytics for Apps

With the glut of third-party apps developed on the the Facebook platform, it only makes sense that the creators of these apps might want to know a little about who is actually using them.

By introducing an apps analytics interface, Facebook is helping these developers get to know their users a little more intimately. Although there are already a number of analytics tools available to app-makers, Facebook is hoping to provide an native option that offers more functionality.

What do you think about the new areas Facebook is expanding into? Can these new products and features help counteract the declining user growth Facebook has experienced? Let us know in the comments below.

Not a uTester yet? Sign up today to comment on all of our blogs, and gain access to free training, the latest software testing news, opportunities to work on paid testing projects, and networking with over 150,000 testing pros. Join now.

The post Facebook Embraces Developers and App Monetization at F8 appeared first on Software Testing Blog.

Categories: Companies

Code Coverage Metrics in Regulated Industries

NCover - Code Coverage for .NET Developers - Fri, 03/27/2015 - 18:35
Code Coverage Metrics in Regulated Industries

code_coverage_regulated_industryIn a previous post, Code Coverage In The Medical Device Software Industry, we discussed the role a governing organization such as the U.S. Food and Drug Administration plays in providing guidance for software development companies in the medical device software industry. Specifically, we reviewed the implications of software validation and code coverage and the prevalence of software defects when changes were made after the initial introduction of the software product. We also discussed how those defects, and the costs and risks associated with them, can be reduced through a well-structured code coverage and software validation process.

Key Code Coverage Metrics

In this post, we will review section 5.2.5 of the General Principles of Software Validation as issued by the FDA and the specific metrics that can be used to ensure compliance.  This is not a full or exhaustive list, but rather a summary of three key coverage metrics presented by the FDA, how the FDA defines them, and how they can be analyzed when using NCover to collect code coverage on your .NET applications.

Statement Coverage (Sequence Point Coverage)

Statement Coverage – This criteria requires sufficient test cases for each program statement to be executed at least once; however, its achievement is insufficient to provide confidence in a software product’s behavior.

regulated_sequence_point_coverageIn NCover, Statement Coverage can be tracked for .NET applications with Sequence Point Coverage.  Sequence Point Coverage is a base code coverage metric that tracks each sequence point of code and calculates the percentage of sequence points covered during the testing of the application.  Although it does not take into consideration multiple branches or conditions, it is a particularly useful metric for tracking down specific portions of code that may be impacting overall coverage.

Decision (Branch) Coverage

Decision (Branch) Coverage – This criteria requires sufficient test cases for each program decision or branch to be executed so that each possible outcome occurs at least once. It is considered to be a minimum level of coverage for most software products, but decision coverage alone is insufficient for high-integrity applications.

regulated_branch_coverageThe definition of Decision Coverage correlates with NCover’s Branch Coverage. Branch Coverage measures the fraction of independent code segments that were executed. Independent code segments are sections of code that have no branches into or out of them. Each independent code segment is a section of code that you would expect to execute in its entirety every time it is run. Branch coverage is one of several key metrics for determining how well the code base for a .NET application has been tested.

Condition Coverage

Condition Coverage – This criteria requires sufficient test cases for each condition in a program decision to take on all possible outcomes at least once. It differs from branch coverage only when multiple conditions must be evaluated to reach a decision.

regulated_condition_coverageCondition Coverage is another standard code coverage metric that was first added to NCover in Version 5. NCover added Condition Coverage to highlight scenarios when sets of branches can be followed, but not through all the possible conditions that lead to that branch. This is most helpful when a method is executed under coverage by multiple tests. These tests together may cover the entire method from a branch coverage perspective, but still not meet all conditions.

The post Code Coverage Metrics in Regulated Industries appeared first on NCover.

Categories: Companies

Vote Now to Send One Lucky uTester to STAREAST

uTest - Fri, 03/27/2015 - 16:38

One uTester is a step away from some testing fun in the sun.

uTesters have been busy filming their most compelling reasons on why they should be sent to STAREAST 2015 logoStarEast– and the time has now come to view and vote for your favorite entries. The uTest & TechWell STAREAST contest voting is officially live!

With the voting period now through 11:59pm ET on April 4, testers will have their chance to vote on the most compelling and creative entries, and send one of their peers to STAREAST 2015 in sunny Orlando, Florida, May 3-8. The grand prize of over $5,000 includes admission to the show, airfare, and all accommodations and meals for the duration of the conference.

Judges from uTest and TechWell will select from among the most liked/voted videos to pick the lucky winner, so be sure to vote for your favorites now.

Have a favorite yourself, or participated in the contest? Be sure to share your submission on your favorite social media networks to get the exposure your video deserves…and all the votes! After you vote, follow the results in real-time every step of the way with our Leaderboard.

VOTE NOW!

The post Vote Now to Send One Lucky uTester to STAREAST appeared first on Software Testing Blog.

Categories: Companies

Appium Version 1.3.7 Released on Sauce Labs

Sauce Labs - Fri, 03/27/2015 - 01:04

Appium logo w- tagline {final}-01

We’re pleased to announce that Appium version 1.3.7 is available on Sauce. This small release includes two hotfixes:

General

  • fixed a failure to remap session id in proxied responses

iOS

  • fixed intermittent failure to find Xcode
Categories: Companies

Codehaus & Ben: Thank You and Good Bye

Sonar - Thu, 03/26/2015 - 20:55

It seems very natural today that SonarQube is hosted at Codehaus, but there was a time when it was not! In fact joining Codehaus was a big achievement for us; you might even say it was one of the project’s first milestones, because Codehaus didn’t accept just any project. That may seem strange today, when you can get started on Github in a matter of minutes, but Codehaus was picky, and just being accepted was a big deal.

It was also a big deal because being accepted by Codehaus gave us access to a full suite of best-of-breed tools: IntelliJ, JProfiler, and Nexus, plus Jira, Confluence, and the rest of the Atlassian suite… This, coupled with the fact that Codehaus took on the burden of hosting and maintaining that infrastructure, allowed us to focus on the SonarQube platform and ecosystem. It enabled us to make what we think is a great product – a product that wouldn’t be what it is today without Codehaus.

The first ticket ever created for the SonarQube (née Sonar) project was SONAR-1, entered in the Codehaus Jira on Dec. 17th, 2007. The project was just under a year old at the time (SonarSource hadn’t even been founded yet). Over the next 7+ years, that ticket was followed by nearly 14,000 more across 42 projects, more than 60,000 emails across two mailing lists, and countless documentation revisions over the many versions of SonarQube and its plugins.

Of course, “Codehaus” really boils down to one guy: Ben Walding, who has been running the 1,000-project forge on his own time and his own dime from the beginning. No matter what was going on in Ben’s life, Codehaus was up. And he wasn’t just “keeping the lights on”, either; Ben always made things not just possible, but easy. So when he told us a couple of months ago that Codehaus was shutting down, it wasn’t really a surprise. In fact, as he said, the writing had been on the wall for a while. But it was saddening. Because no matter how many other options there are today for open source projects, Codehaus will always have a special place in the history of the open source movement and in our hearts.

We’ll announce what Life After Codehaus will look like in May, but in the meantime, we say: Merci beaucoup, Большое спасибо, Heel erg bedankt, Grazie mille, vielen Dank, Suur aitäh, Nagyon köszönöm, and Thank you, Ben. Goodbye to Codehaus, and thank you very much.

Categories: Open Source

The Ins and Outs of Entrance and Exit Criteria

Hi All,

Here are the slides from today's webinar - "The Ins and Outs of Entrance and Exit Criteria".

You can find the webinar recording at: http://www.astqb.org/certified-tester-resources/istqb-certified-tester-resource-area/

Also, I am working to develop this topic into a micro-learning format for a 3-hour e-learning course. I may also conduct a live virtual session or two. If you are interested, just contact through my website at http://www.riceconsulting.com.

Thanks!


Categories: Blogs

Software Testing With a Spoon (And Other Interesting Interview Topics)

uTest - Thu, 03/26/2015 - 19:05

indexFrequent uTest contributor Daniel Knott recently penned a nice piece on ‘how to test a spoon.‘ It was a question used during a software testing job interview that Daniel stumbled upon.

OK, so you’re probably asking — why in the heck would I test a spoon in the first place? But if you’re asking this question according to Knott, you’re just in the wrong mindset when this curveball is thrown your way.

Knott argues that it’s less about the process of actually breaking the spoon, and more about the thoughts the question elicits:

  • What is the purpose of this spoon?
    • Will it be used as a normal spoon for soup or will it be used in a chemical environment for acid liquids?
  • What is the area of operation of this spoon?
    • Will it be used in a hot or cold environment?
  • What material is it made of?
    • Is it made of plastic, metal or wood?

Have you ever been asked to test a spoon during a job interview? Have you ever been asked any other unusual brain teasers or questions while interviewing for a job? How did you approach the question? We’d love to hear from you in the comments below!

Not a uTester yet? Sign up today to comment on all of our blogs, and gain access to free training, the latest software testing news, opportunities to work on paid testing projects, and networking with over 150,000 testing pros. Join now.

 

The post Software Testing With a Spoon (And Other Interesting Interview Topics) appeared first on Software Testing Blog.

Categories: Companies

Orasi Expands Software Testing Utilities

Software Testing Magazine - Thu, 03/26/2015 - 18:15
Orasi Software, an Atlanta-based quality assurance software reseller and professional services company, has announced that it is expanding its line of software testing utilities. With the addition of the upcoming OPTIC (Orasi Performance Test Intelligence Connector), Orasi will offer seven products targeted to supporting or enhancing test automation, team communication, reporting and process validation, and other important facets of software development. OPTIC will expand this portfolio by connecting two industry-leading solutions: HP LoadRunner and AppDynamics. (Further details will be released at a later date.) Orasi also places strong emphasis on test ...
Categories: Communities

Webinar Q&A: Facilitating Continuous Delivery Pipelines with Jenkins Workflow



Thank you to everyone who joined us for the webinar with eSynergy--you can view the recording here.

Below are the link found in the slides from the webinar:

Get The Code:https://github.com/harniman/workflow-demos
https://github.com/harniman/spring-petclinic
https://github.com/jenkinsci/workflow-plugin/blob/master/COMPATIBILITY.md

Tutorial:https://github.com/jenkinsci/workflow-plugin/blob/master/TUTORIAL.md

Jenkins Enterprise by CloudBees Workflow-Related Functionality:http://jenkins-enterprise.cloudbees.com/docs/user-guide-docs/workflow.html

Following are answers to the questions we received during the webinar:
________________________________________________________________

Q: Can 'pause for input" can be accepted via api? A: Yes you can POST to a URL to proceed. 
Q: Any support for Android Emulator in workflow? A: No specific support yet that we are aware of. You can use `sh` steps to launch and tear down the emulator. 
Q: Are you developing any plugins/workflows that uses Puppet/Chef? A: Not currently, though of course you can run such commands from shell scripts. There is a plugin that allows tracking of puppet deployments. 
Q: Pending JENKINS-27295 Booleans end up as Strings in the Groovy script. Is there a workaround? A: Currently you would use Boolean.parse or just check MYPARAM == 'true' 
Q: Can the DSL be extended with new commands?, For example to call things specific to plugins and not present in core? Like running an xcode build. A: DSL steps are contributed to by plugins. 
Q: Is there a list of plugins compatible with Workflow? A: See https://github.com/jenkinsci/workflow-plugin/blob/master/COMPATIBILITY.md 
Q: Can the DSL functions be reused across jobs? A: You can `load` a file of Groovy functions you wrote, or commit a Groovy class to a Jenkins-managed Git repository and then import it from as many flows as you like. 
Q: Can we restrict checkpoint to a particular access group who can click ok? A: Not currently; just based on Job/Build permission. 
Q: If we have 10 commits then would all 10 builds pause at Staging using up 10 executors unless someone clicks yes or no? A: It is not using up executors while waiting (unless you are inside `node`). If you want to automatically cancel older prompts, that would be: https://issues.jenkins-ci.org/browse/JENKINS-27039 
Q: Do we have ability to integrate with Jira? Like opening a task in Jira when the tests fail. A: Its possible the JIRA plugin for Jenkins may implement this. Or if there is a way to access JIRA REST API e.g. from curl/wget you could do this today. 
Q: Do you plan to implement a “task list” screen for a user to see all tasks awaiting their input? A: Not at present. This would be a great RFE. 
Q: How to enable own jars in workflow lib? Is that possible. Is that possible to download workflow lib directory from external git (scm) instead of use of "static" content? A: External JARs in classpath (other than plugins) not currently supported. You can load *.groovy sources (interpreted) from the load step, or use a Jenkins-managed Git repo to save common classes/functions. 
Q: How to take standard input/error and error code in shell script to manage step (sh command)? A: See RFE: https://issues.jenkins-ci.org/browse/JENKINS-26133 which also contains workaround idioms. 
Q: Can you propose interfaces for some commands using not only String but also Arrays? I.e. it is not possible to send mail to many recipients or set more than one submitter in input phrase because of String, not String[] interface? A: For the `submitter` option to `input` you can set the name of an external group, for example LDAP group. Then anyone in that group may approve. In general yes steps can and do take arrays/maps where needed. Possible RFE, but I think https://issues.jenkins-ci.org/browse/JENKINS-27134 would be the better approach in general (integrates nicely with authorization strategy configuration for Jenkins overall). 
Q: How can I add RFE request? A: See https://github.com/jenkinsci/workflow-plugin#development 
Q: When I run the code on slave the current dir and context is set to the workplace directory. Is this way to automatically set it to the job-numbered dir or I have to do it manually? A: You can use the dir step to temporarily change directory (like pushd in shell scripts), or you can ask for a specific _locked_ workspace with the `ws` step. 
Q: Is that possible to put some links into workflow report screen and/or workflow step screen (i.e. to show sonar, junit links)? A: JUnit result archiving is supported. For Sonar use the https://wiki.jenkins-ci.org/display/JENKINS/Sidebar-Link+Plugin 
Q: Do you plan to provide ability to group steps in step list (now each sh is separate step) to improve readability? A: See https://issues.jenkins-ci.org/browse/JENKINS-26107 
Q: Does Input send email to alert the responsible party? A: No but you could use the distinct `mail` step to do so. 
Q: Does workflow support multiconfiguration jobs? E.g. can I define configurations within the workflow to run multiple concurrent builds on different platforms and have each of these follow a workflow? A: You can do so, although there is not currently a good way to separate displayed results by configuration. This is something we are thinking about adding. 
Q: How hard is it to implement the github triggers? A: See https://issues.jenkins-ci.org/browse/JENKINS-27136 You would need Java development experience and knowledge of Jenkins plugin APIs. 
Q: Is build promotions a feature of Workflow? What does build promotion look like in Workflow? A: The equivalent of the Promoted Builds plugin for Workflow would be build stages. 
Q: Does workflow provide functionality to capture test result output of test stages and aggregate it similar to the JUnit test result reports in the build stage? A: You can run test result archiving multiple times per build. Currently all such results are simply aggregated. https://issues.jenkins-ci.org/browse/JENKINS-27395 suggests refinements. 
Q: Is there more than the simple proceed / cancel functionality to the transitions between stages? A: https://issues.jenkins-ci.org/browse/JENKINS-27039 suggests other behaviors. 
Q: Are checkpoints and resuming from checkpoints a feature reserved only for Jenkins Enterprise? A: Yes. OSS Workflow does let builds survive simple Jenkins restarts (or slave disconnections and reconnections). 
Q: Can workflow accommodate a deployment model that is asynchronous? We use Puppet to deploy. The handshake is via MQ so the deployment status is not available immediately. A: I would suggest using the waitUntil step to wait for a deployment flag to be set. In the future there might be a step designed to wait for MQ events, or specifically for Puppet, etc. 
Q: Is wait until asynchronous? A: Yes, checks for the condition repeatedly, at increasingly long intervals if still false. 
Q: If we are using a separate tool for Deploying apps, something like IBM uDeploy how does it integrate into the workflow? A: You would use the `sh` (or `bat`) step to run it as an external process. 
Q: If you have jobs which now continue past a Jenkins reboot, how do you restart jobs that are stuck in a poor state or need some attention? A: You can cancel stuck builds if you need to. 
Q: Is it competing with XebiaLabs XLRelease and/or Nolio ReleaseAutomation? Does it have inframent abstractions, does it has easy keystores for passwords needed? A: Not really competing with that kind of product; more complementary. There is integration with the Credentials system in Jenkins. 
Q: Is it possible to just get an enterprise version of this plugin or does it only come as part of a package? A: Currently only as part of the Jenkins Enterprise package. 
Q: Is the entire pipeline defined in a single file? A: Yes. (Or you could define parts in a different file if that made things more readable.)
Q: Is the Job DSL plugin compatible with it? Or are they sort of competing plugins doing the same thing? (though I know Job DSL does not do workflows). A: Job DSL supports Workflow as of a recent release. 
Q: Can the Job DSL plugin generate workflow dsl? A: Yes it can. 
Q: Are there other ways to create workflow jobs? A: Yes, you can use the Jenkins Enterprise Templates capability. 
Q: Is there a way to have a particular user be able to authorize the proceed / cancel upon reaching an input point? A: Yes, `input message: '...', submitter: 'thatUserID'` 
Q: Can Jenkins be used as an artifact repository? Similar to Artifactory. A: You can archive artifacts from the build, though if you have big files, or want to use them from other tools, you are recommended to use Artifactory/Nexus/etc. 
Q: Is there a way to send an email to solicit input from non-technical users? A: There is a `mail` step. 
Q: Is there an option to launch Hadoop workflow jobs? A: If there is a cloud provider for Jenkins generally, it can be used to run Workflow `node` steps on that kind of slave. 
Q: Wanted to see if Jenkins can be a single place to launch jobs for hadoop, may internally Ooozie scheduler be used to launch, any option? A: If there is a shell command you can run to launch the job, then you can do it from Workflow. 
Q: Nowadays we rely on MultiBranch Project Plugin for support our development process based on Pull Request and Code Review. Is it possible to achieve the same result using workflow plugin? A: Not currently but I would like to add such support: https://issues.jenkins-ci.org/browse/JENKINS-26129 
Q: Where is there any source of work flow plugin job configurations aside from the github page? A: A new tag for StackOverflow has been proposed. 
Q: Is there perforce integration? A: The new Perforce plugin (from Perforce) recently added Workflow support. The older one does not have it. 
Q: Would you want to create a groovy script that contains functions that can be reused in other workflow builds, it should be a plugin? A: Need not be a plugin, can just live in your SCM, etc. 
Q: What is the recommended way to have reusable groovy parts shared among different jobs? A: You can use the `load` step, or you can define classes in a Git repo hosted by Jenkins and which are then available for immediate import. Other options may be added in the future. 
Q: Why is 'Surviving Restarts' implemented in a Plugin, and not in Jenkins Core? A: Technical reasons too involved to go into here. Basically Jenkins was not originally designed to make that possible. Jenkins Enterprise provides a plugin to support Long Running Builds. 
Q: Is Console output of parallel executions in any way grouped, or just all lines mixed up? A: With lines intermingled, but prefixed by branch name. 
Q: I have my workflow script in one SCM repo, but want to trigger the job from all changes in a different repo, can I do that? Or would I need to keep workflow script with my sources? A: Yes, you can use as many repositories are you like from a single build, which may or may not be where the Groovy script is kept. 
Q: Will there be an option to download the example workflow source? A: Yes - https://github.com/harniman/workflow-demos 
Q: How is the Jenkins workflow kept in a source code control system of some kind? For example to see what variables were defined as at some point in the past? A: You can load your whole flow script, or just a part of it, from source control.

--Nigel Harnimanwww.cloudbees.com

Nigel is a Senior Solution Architect at CloudBees.


Categories: Companies

Repost: Testing in a Real Browser with Sauce Labs + Travis CI

Sauce Labs - Thu, 03/26/2015 - 17:01

This post comes from our friend Sam Saccone, who wrote a nice how-to on using Sauce Connect and Travis CI. Check out the original post on his blog.

I recently found myself implementing a basic set of JavaScript integration tests on an open source project. I quickly came to the realization that there is a serious lack of good documentation on how to get a basic browser test running on a Travis CI using Sauce Labs and Sauce Connect.

After stumbling across the barren desert of outdated doc pages, incorrect stackoverflow answers, and ancient google group posting, I present to you the spoils of my quest to the underbelly of the web.

Let’s approach this in the context of a real problem: Testing javascript in a real web browser.
(view the complete project here)

 

settinguptravisci

(view the full diff)
To get going we are going to setup http://travis.ci to run on our repo.

Setting up our repo to work with travis

Once travis is enabled we will want to setup a basic .travis.yml file to run a basic test on our repo.

language: node_js
node_js:
    - "0.12

We are telling it to use node_js and specifying the version of node. By default node projects will run npm install and npm test so everything should be good to go. And we will see our basic test run

Creating our first browser test.

sam browser test

(commit diff)

To take advantage of Sauce Lab and Sauce Connect we are going to need to use selenium webdriver. In case you are not familiar with selenium, it allows you to remotely control a web browser through code (pretty awesome stuff).

The documentation for it is a bit hard to find but I will link it here so you do not have to go huntinghttp://selenium.googlecode.com/git/docs/api/javascript/class_webdriver_WebElement.html

We will want to install selenium and setup out basic tests

Instead of going over the entire diff lets look at a few critical pieces of the code.

var assert = require("assert");
var webdriver = require("selenium-webdriver");

describe("testing javascript in the browser", function() {
  beforeEach(function() {
    this.browser = new webdriver.Builder()
    .withCapabilities({
      browserName: "chrome"
    }).build();

    return this.browser.get("http://localhost:8000/page/index.html");
  });

  afterEach(function() {
    return this.browser.quit();
  });

  it("should handle clicking on a headline", function(done) {
    var headline = this.browser.findElement(webdriver.By.css('h1'));

    headline.click();

    headline.getText().then(function(txt) {
      assert.equal(txt, "awesome");
      done();
    });
  });
});

At a high level we are setting up selenium to launch a chrome instance, visiting the page we want to test, clicking on an element, and then asserting that the clicked element’s text has changed to an expected value.

There is a bit of async complexity going on that mocha and selenium for the most part abstract for us, so no need to fret about that for now.

If you noticed we are visiting http://localhost:8000, that means that we need to boot up a server to serve our content. Travis makes this easy enough via a before_script task. In the task we will just start a python simple server and give it a few seconds to boot. The ampersand at the end of the python line tells travis to run the process in the background instead of blocking the execution thread, allowing us to run tasks at the same time.

language: node_js
before_script:
  - python -m SimpleHTTPServer &
  - sleep 2
node_js:
    - "0.12"

Believe it or not that is all we need to run our tests in a real browser (or at least it seems to satisfy the requirements to run things locally).

And in Comes Sauce Labs

(view the full diff)
When we push our work from before, we are rudely awoken by the unfortunate fact that nothing is working on travis.

sam sauce labs

https://travis-ci.org/samccone/travis-sauce-connect/builds/54796160

This is where we will lean on Sauce. Sauce Labs provides its services for free for Open Source projects. We can get our access keys via https://docs.saucelabs.com/ci-integrations/travis-ci/ and just add the encrypted keys to our travis.yml file, these keys will allow us to connect to Sauce’s VM cluster to run our tests against.

sam sauce labs 2

From here we just need to enable the sauce_connect addon for travis, again only a minor change to the travis.yml file is needed.

sam travis

The next step is to tweak our selenium browser build step to use sauce labs VMs instead of the local machines.

 beforeEach(function() {
    if (process.env.SAUCE_USERNAME != undefined) {
      this.browser = new webdriver.Builder()
      .usingServer('http://'+ process.env.SAUCE_USERNAME+':'+process.env.SAUCE_ACCESS_KEY+'@ondemand.saucelabs.com:80/wd/hub')
      .withCapabilities({
        'tunnel-identifier': process.env.TRAVIS_JOB_NUMBER,
        build: process.env.TRAVIS_BUILD_NUMBER,
        username: process.env.SAUCE_USERNAME,
        accessKey: process.env.SAUCE_ACCESS_KEY,
        browserName: "chrome"
      }).build();
    } else {
      this.browser = new webdriver.Builder()
      .withCapabilities({
        browserName: "chrome"
      }).build();
    }

    return this.browser.get("http://localhost:8000/page/index.html");
  });

Our beforeEach step gets a tiny bit more complex. We first detect if there is a sauce environment variable and if so we setup the browser with the required parameters for it to connect to Sauce’s infrastructure. After that setup is done, we can be blind to the changes that we made, since we will not have to worry about it again.

Once we push our changes we can see everything works like charm!


sam sauce 3

We even get an awesome playback video from sauce to help us debug if there were any problems Sauce Test Playback

Hopefully this helps to codify the path to adding integration tests on your javascript projects.
If you still have questions please reach out via a github issue or on twitter.
Sam Saccone @samccone

Categories: Companies

Guiding Principles for Building a Performance Engineering-Driven Delivery Model

While recently attending a Dynatrace User Group in Hartford, I had the opportunity to sit in on a great presentation from a leading US insurance company as they explained their 3 year APM journey. I see a lot of these success stories, but this one was especially impressive. To see how they have refined their […]

The post Guiding Principles for Building a Performance Engineering-Driven Delivery Model appeared first on Dynatrace APM Blog.

Categories: Companies

Reach the next level - NEW Ranorex Advanced Training Course

Ranorex - Thu, 03/26/2015 - 11:00
Have you been looking for ways to increase the effectiveness of your automated tests using the Ranorex tools but haven’t had the time or experience to take advantage of some of the more sophisticated functionality Ranorex has to offer?

We are happy to announce a new offering how you can reach the next level of Ranorex competency with our advanced training course:

What:This 2-day course is geared towards existing Ranorex users who would like to gain a deeper understanding on key aspects like Object Recognition using RanoreXpath and Ranorex Spy, Ranorex Object Repository optimization, Ranorex API usage, plus much more! You will reduce maintenance and increase functionality while learning best practices to customize Ranorex and collaborate in a team environment. The content is technology agnostic and you will benefit from this training regardless of the type of UI you are automating with Ranorex.When:The course dates are April 28-29, 2015 and June 16-17, 2015. Stay tuned for additional dates later in 2015.Where:At the Ranorex North American Headquarters in Clearwater, FL. This will allow us to provide a more personal interaction and attention to each attendee to cover advanced topics. The advanced training course will not be offered online. Instead, we offer you the opportunity to visit the Sunshine state and are hosting the training at our corporate office. This allows you to engage with the Ranorex team for a more individual learning experience through a combination of presentations, hands-on exercises and group discussions.Cost:Registration for the 2-day training is $1,395 per person. Space is limited, so reserve your seat now!Registration: Right this way please or contact our sales team for a quote.
Additional information can be found in the course description and curriculum . Please be aware of the necessary prerequisites to attending this training course.



Please contact us at sales.us@ranorex.com with any questions you may have.
We look forward to seeing you in one of our advanced classes soon!

Look at the schedules for additional workshops in the next few months:

Categories: Companies

Pulse Roadmap Update

a little madness - Thu, 03/26/2015 - 05:30

Long time users of our Pulse Continuous Integration Server would know that we don’t believe in posting long-term roadmaps. They just never reflect a changing reality! But we have always been happy to discuss features with customers, including keeping our issue tracker (creaky old version of Jira that it is) completely open for all to see and contribute. In that spirit I’d like to talk a little about where we’re heading with Pulse in the near term, the bit that can be predicted, in a format more digestible than disparate issues.

The next version of Pulse (as yet unnamed), will have updates focused on a few areas:

  1. Upgrades of underlying libraries including Equinox, Spring, Spring Security, Hibernate, Jetty, Quartz, EhCache and more. If you haven’t seen a lot of visible changes reported recently this is why: these upgrades have occupied the first part of this development cycle. These are truly the most boring of all changes, which we hope you won’t notice directly at all! What you will notice, though, is a payoff of this strong foundation over time.
  2. Major updates to the administration interface. The interface works well enough at the moment but could be improved in a couple of key areas: discoverability and efficiency. Key goals for these updates include:

    • Improving the visibility of the most commonly-used configuration via overview pages.
    • Making it easier to discover what is overridden (via templating) and where.
    • More efficient navigation, especially through the template hierarchy.
    • Modernisation to take advantage of HTML 5 (which the current interface predates).

    These changes are big enough to warrant a dedicated blog post at a future point.

  3. Improved visibility of the build environment. When builds fail in curious ways the culprit is often a small difference in the environment. Pulse currently publishes environment information via implicit env.txt artifacts, but these haven’t kept up to date with the variety of options Pulse now gives for specifying build properties.
  4. Improvements to the Windows experience. In 2.7 work was done to improve Windows service support, but more could be done to streamline the setup process in particular.

As always we will also be working on dozens of smaller improvements and suggestions from our user base, most of which fall under one of:

  • UI polish, especially in the reporting interface.
  • Increased flexibility of project and build configuration.
  • Updated support for modern versions of build tooling.

Customers are more than welcome to connect with us via our support email, support forum, or issue tracker to discuss these and other changes you’d like to see in Pulse!

Categories: Companies

Registration for JUC 2015 is Open!

It's that time of the year again: 2015 Jenkins User Conference Registration is OPEN for all cities. This year, we are making some changes to JUC — JUC will be a two-day event in three out of the four cities across the globe. You will get opportunities to network with other users and developers in the community, learn more about how other people are using Jenkins and attacking broader continuous delivery problem. As always, we love to meet & talk to you to learn what you are doing with Jenkins. To get the sense of how JUC is like, take a look at our past JUC reports like this and this.

Early Bird pricing for JUC tickets is available until May 1.

You can learn a lot more information here about the 2015 Jenkins User Conference World Tour. As always, we are tweaking JUC to make it better, based on feedback. I'll post about those in coming months. Make sure to follow or tweet at @jenkinsconf to stay up to date on JUC news or to share which JUC you will be attending!

See you there!

Categories: Open Source

Registration is Open for JUC 2015!

Attend THE conference for Jenkins users, by Jenkins users.Register and Learn More. Early Bird rate ends May 1!
 In the past, the Jenkins User Conference has been a one-day event, but this year for the first time ever it will be a two-day event in three cities, providing you with more content and more networking opportunities with more Jenkins users! (Refer to the graph below to see just how many attendees are expected.)

The main focus of JUC is the use of Jenkins for continuous integration (CI) and continuous delivery (CD) as the fundamental best practice for enterprise software delivery. All JUC presenters are experienced Jenkins developers, build managers, QA, DevOps practitioners, IT managers/executives, architects and IT operations who are luminaries within the Jenkins community. They represent the many organizations around the world that are leveraging the use of Jenkins within the software delivery lifecycle.
In 2014, the community saw an 80% increase in attendance
over 2013. This year, 800-1000 attendees are expected in
each city!
We welcome you and other leading Jenkins developers, QA, DevOps and operations personnel to the Jenkins User Conference World Tour. As the organizing sponsor of the Jenkins User Conferences, CloudBees has helped the community grow the Jenkins User Conferences worldwide over the last four years.

In 2015, the World Tour will bring together the full strength of the Jenkins community—now over 100,000 installations strong—and the ever expanding Jenkins partner ecosystem, allowing attendees to learn, explore, network face-to-face and to shape the next evolution of Jenkins development. Kohsuke Kawaguchi will kick off the event with a keynote address and lead us into the two-day conference. Attend a JUC to get the knowledge you need to make your current and future Jenkins projects a success.
Categories: Companies

Testing Angular Applications

Software Testing Magazine - Wed, 03/25/2015 - 17:47
Ari Lerner believes that testing is a core aspect of development, that they cannot be separated from one another, that they are one in the same. This talk is about Angular, and is specifically about testing the Angular JavaScript framework, but the approaches discussed are universal to front-end applications alike. This talk try to anwers the following questions about the testing of Angular.js applications: * What does it mean to test? * Why test? * What is good testing technique? * How can we test every component of our application? Conference producer: http://forwardjs.com/ Video producer: https://thenewcircle.com/
Categories: Communities

Knowledge Sharing

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