Subscribe to Methods & Tools
if you are not afraid to read more than one page to be a smarter software developer, software tester or project manager!
Subscribe to Methods & Tools
if you are not afraid to read more than one page to be a smarter software developer, software tester or project manager!
Software testing is an extremely important part of the development process, with quality assurance (QA) and test management growing in importance.
The post Quality Assurance (QA) is a Necessity for your Company appeared first on Polarion Software Blog.
Ranorex is more than just a simple capture and replay tool. It is a versatile test automation software that offers a range of tools suitable for every skill level. While you donât need any programming skills to easily create and maintain your tests with the Ranorex Recorder, you can also manually create your automated tests.
What are the benefits of manual test case creation?
In this example, weâll use the KeePass as application under test (AUT). This open source password manager application is one of our sample applications delivered with Ranorex Studio, so you can easily recreate this example.
In this blog, weâll show you how to
The Ranorex Object Repository manages the UI elements of your automated test. A repository item is automatically created in this central Ranorex Object Repository when you record or track a UI element. If you change a repository item, these changes are automatically applied in the code as well as in the recording module.
Start by opening your solution and add an empty recording module. You will notice that the central Ranorex Object Repository of your test automation project is displayed directly below the action table. You can now add UI elements to the repository using the âTrackâ button in the Ranorex Object Repository.
Enhancing the RanoreXPath
You can alter the RanoreXPath of specific repository items to make them more robust. Simply open the path editor and click on the âEditâ button next to the item. For more information about the RanoreXPath, please have a look at the user guide chapters RanoreXPath and RanoreXPath Editor. If youâd like to know how to best enhance the object recognition of your AUT using the RanoreXPath operators, check out the blog post RanoreXPath â Tips and Tricks.Keep your repository clear and structured
If your Ranorex Object Repository contains many objects, itâs particularly important to keep it clearly structured and organized. Here are two tips:
Rename repository items
Each UI element within the repository can have a logical user-defined name. Renaming repository items and giving them logical names will make it easier to understand test automation code and report files.
Create Logical Folders
You can also create logical folders to structure and group UI elements that logically belong together. For detailed instructions on how to structure your Ranorex Object Repository, please check out our user guide chapter Adapting an Existing Repository.
As your Ranorex Object Repository now contains multiple UI elements, you can add actions to the recording. Do so by either selecting âAdd New Actionâ, or simply drag & drop specific repository items from the repository to the action table in the recording.
If youâd like to connect data to your automated tests and use variables in the action table or the repository, have a look at the user guide chapter Data-Driven Testing.The User Code
You can also create your actions directly in user code. Simply drag and drop the specific repository item from the Ranorex Object Repository directly into the code editor.
In the user guide chapter Code Examples you can find further examples on how to extend modules with user specific code.Conclusion
As you can see, you can create your automated tests manually without pressing the record button at any time. This will give you more control over the actions that should be triggered.
We are pleased to announce the release of the v184.108.40.206 update to Spira v5.0. If you are running Spira 5 and are a self-hosted customer, please take the time to upgrade to v220.127.116.11 as soon as possible.
Our cloud / SaaS customers have already been updated this weekend.
From Washington Technology with Nick Wakeman
Published: August 25, 2016
It is no secret that solicitations can be hard to read. The language is technical and often convoluted. It can lead to confusion and misunderstandings. Not to mentions delays and inefficiencies.
But just how bad is it? Well, maybe even worse than many of us thought, according to a report that was released this summer.
VisibleThread, a company with software products that use algorithms to analyze the language of documents and websites for changes and clarity, turned one of its tools loose on five solicitations for contracts worth a total of $7 billion.
The companyâs primary business is helping contractors track changes in solicitations. Its algorithms donât just identify changes in wording but it also highlights changes in context and substance.
If you want to try VisibleThread Docs sign up here for a 7-day free trial7-DAY FREE TRIAL
The RanoreXPath is a powerful identifier of UI elements for desktop, web and mobile applications and is derived from the XPath query language. In this blog we will show you a few tips & tricks on how to best use the various RanoreXPath operators to uniquely identify UI elements. You can then use these RanoreXPaths in your recording and code modules to make your automated tests more robust.
Using RanoreXPath operators
The Ranorex Spy displays the UI as hierarchical representation of elements in the Element Browser view. The RanoreXPath can be used to search and identify items in this UI hierarchy.
In this example, weâll use the tool KeePass as application under test (AUT). This open source password manager application is one of our sample applications delivered with Ranorex Studio. If you have multiple applications open, Ranorex Spy will list them all. Filtering the application you want to test will increase speed and give you a better overview. To do so, track the application node of KeePass and set it as root node (context menu > âSet Element as Rootâ). Now, only the main KeePass form and its underlying elements are visible.
General Layout of RanoreXPath
RanoreXPath expressions are similar to XPath expressions. They share both syntax and logical behavior. A RanoreXPath always consists of adapters, attributes and values:
The adapter specifies the type or application of the UI element. The attribute and values specify adapter properties.
The absolute RanoreXPath of our KeePass form looks like this:
The form is an adapter specifying the type or classification of the UI element. It is followed by the attribute value comparison, which identifies the requested element. In this example, the comparison operator is a simple equality.
If you want to know more about how the RanoreXPath works, we recommend our dedicated user guide section.Search for multiple button elements
You can list all buttons elements that are direct children of a designated positon in your AUT. Have a look at these two examples:1. List all buttons that are direct children of the KeePass toolbar:
To do so, simply set the toolbar as root node and type ./button into the RanoreXPath edit field, directly after the given RanoreXPath.
This will create a relative path to all child nodes of the actual node, which are buttons.
2. List all buttons of your AUT:
Navigate back to the form adapter, set it as root node and type in .//button.
Youâve now created a relative path to all descendants of the actual node, which are buttons. These are all buttons of all levels of the subtree of the current element.
Identify controls with a specific attribute
You can also create a path to controls, to filter them according to specific attributes. In this example, we want to find all checked checkboxes.
Open the âFindâ dialog in KeePass (<CTRL><F>), as this dialog contains checkboxes, and set it as root node. Now, you can validate which item of the checkbox control has the attribute âcheckedâ set to true. To do so, enter â//checkbox[@checked=âTrueâ]â:
As you can see, only the checked checkboxes will be visible in the Element Browser.
Identify checkboxes by combining attributes
You can further extend the previous example by combining attributes. This enables you to, for example, omit certain items from the search, or search for specific items.1. Omit a specific item from the search
You can omit a specific item from the search using the ânot equalâ operator and the âandâ conjunction. In this case, we want to omit the item â&Titleâ:
2. Seach for specific items
You can use the âorâ instead of the âandâ conjunction to extend your search and only look for specific items. Extend the checkbox search to look for the items â&Titleâ and â&URLâ:
Recognize related elements using the parent operator
After running the Ranorex desktop sample project, there will be two entries in our AUT â one for a WordPress and one for a Gmail account. In this case, weâd like to find the username of the âGmailâ KeePass entry:
Start with the RanoreXPath to the cell containing the text âGmailâ (framed in red). Next, use the relationship operator âparentâ to reference the parent node of the current element. In this example, itâs a row (framed in blue). The index ââ navigates to the second cell, which contains the Gmail username (framed in green).Recognize related elements by using preceding- and following-sibling
Another way to search for related elements is to use the relationship operator âpreceding-siblingâ. In this example, we want to find the title of a KeePass entry based on its username.
The command âpreceding-sibling::cellâ lists all preceding cells. In this case, the result is the title (framed in green) which corresponds to the given username (framed in red).
In contrast, the command âfollowing-sibling::cellâ delivers all following cells. In our case, these are all following cells (framed in blue) that correspond to the given username (framed in red).
Identify attributes fields using regular expressions
You can also use regular expressions in attribute conditions to identify attribute fields. In this example, weâd like to filter cell adapters that contain an email address in their text attribute. Regular expressions matching an email address may look like this: â.+@.+\..+’â.
The â~â operator instructs Ranorex to filter attribute fields using a regular expression. The â.â in our regular expression matches every single character, while the â+â specifies that the preceding element has to occur one or more times. To escape special characters (such as â.â), enter a backlash before the character.
In our example, every expression will match that contains the character â@â with one or more characters before and after it, followed by a â.â, which is followed by one or more characters.
For more examples on how to use regular expressions in RanoreXPaths, please have a look at this user guide section: RanoreXPath with regular expression.Identify attributes with dynamic values
Dynamic attribute values change each time an element is displayed anew. Fortunately, dynamically generated content usually has a prefix or postfix. To identify dynamic elements, you can either use regular expressions, as described above, or use the âstarts withâ or the âends withâ comparison operators:
The RanoreXPath enables you to find and uniquely identify every single UI element of desktop, web and mobile applications. You can use the RanoreXPath operators to make your test suite more robust and identify even dynamic attribute values.
In 2004, the Department of Revenue in Washington decided to make their language so simple, a 12-year-old could understand it.From their website to the letters they sent, they rewrote all content using plain English principles.No jargon, no acronyms, just content so simple any 7th grade student could understand.They did it initially as an experiment.
Could Speaking Like a 12-year-old Earn The Government More Tax Revenue?
Two years later, the experiment results were out, and they were a huge success.Â By simplifyingÂ the copy of just one tax letter, they were able to:
All this for the cost of 1 cent for every dollar collected.
The Power of Copywriting
From million dollar sales letters to online landing pages that have built companies, good copy makes money.Â If you think about the copy that’s written in famous landing pages, what’s great about them?Â It’s the fact that they are:
Now imagine every business writing their blog posts, customer service emails and sales emails with those principles in mind.Â If every touchpoint was easy to understand for the customer, what would happen?
Customer service results:
All because you made sure that the copy on your website was easy to read, even for a 12-year-old.
The Big Win Businesses Canât Win
Making sure your copy is clear, simple and speaks directly to your customers is difficult.Â Itâs also one of the few ways to improve every aspect of your business at once.Â But how can you do this at scale?Â What metrics do you use?
This is where VisibleThread’sÂ Cloud Service comes in. VisibleThread’sÂ Cloud Service scans entire websites and gives each page a readability score.
It can do this with 50 pages or 50,000 pages.
From there, VisibleThread’s Cloud Service creates a report showing the most poorly written pages. Thereâs a lot of copy to be scanned, with 3.5 billion web pages hosted by WordPress alone. Letâs run through an example.
How It Works
First, you enter your website. The Cloud Service then scans the website for four things:
If you tweaked just these four metrics you could improve your copy (and your business) overnight.
Let’s see how this would work.Step 1:
First, we scan the entire website for readability. The report looks like this.
We then look at every URL on the website and give it an individual score.
VisibleThread can scan as many webpages as you need so the report can go on for a while. The picture above is just a tiny snippet.Step 3:
VisibleThread shows you exactly where the problems are in your web copy. Now you can edit the copy on these problem pages and improve their readability.
We even put this article through the VisibleThread as part of the editing process.
Best of all, once the writers make the copy edits, you can measure the impact by using VisibleThread again afterwards. This will help you prove the ROI of using the software.
Find out more about how VisibleThread’s Cloud Service could help your CMS users maximize their ROI from using your platform. Contact our sales team here.
VisibleThread Cloud Service
VisibleThread’s Cloud Service helps your users manage their content at scale. Our API integrates with your product in minutes, and our revenue share option means it’s great for your customers and your bottom line.
CLICK HERE for your free report to see exactly what kind of functionality you could give to your users.GET YOUR FREE REPORT
The post How To Make $801,732 By Speaking Like A 12-Year-Old appeared first on VisibleThread.