User experience can be a key selling point for a software based product or service. Intuitive and visually appealing user interfaces are desirable. Thus, designing user experience is a common practice in software development. Such a design can specify characteristics of various objects of a user interface with the goal that the design be implemented in the resulting product or service. Such characteristics can include visual appearance and functionality of those objects,
INTRODUCTION: Designing a user experience can be a key factor in developing a commercially successful software product or service. The design process can include generating user interface mockups often referred to as wireframes that define desired visual and functional characteristics of the user interface. The design is then handed off to a development team whose implementation that may or may not conserve all the desired characteristics of the user experience design. For example, developers may deviate from the design by using different user interface controls, layouts, colors, sizes, proportions, or flow. Some deviations may be minor and due to technical limitations, some may be acceptable under the design, but many result from miscommunication or simple oversight on the developer's side. Often, these deviations are discovered during manual acceptance testing by the designers or stakeholders, and sometimes not even then, due to the difficulty of visually comparing the mockup with actual implementation to identify, for example, a missing icon.
Various embodiments, described in detail below, function to generate a conformance rule set from mockup data of a user experience design. The rule set may be generated by electronically parsing mockup data provided by a user interface design tool. The rule set is an abstraction of the design and specifies desired user interface characteristics visually depicted or otherwise represented by the mockup data. Such characteristics can be visual such as color, size, and position of user interface objects. Desired characteristics can be functional such as a desired result of an interaction with a given user interface object. The rule set can then be associated with a particular application or user interface for later access when testing the conformance of that user interface with the user experience design.
To test conformance, screen capture data for a user interface generated by an application under test is accessed. The screen capture data, may for example by provided by an application testing tool. The screen capture data is processed or otherwise analyzed to identify actual characteristics of the user interface. The conformance rule set can then be processed to identify and report differences between the desired characteristics and the actual characteristics. Such differences may be minor and deserve a warning. Other differences may warrant an error indicating a test failure.
The following description is broken into sections. The first, labeled “Environment,” describes an environment in which various embodiments may be implemented. The second section, labeled “Components,” describes examples of various physical and logical components for implementing various embodiments. The third section, labeled as “Operation,” describes steps taken to implement various embodiments.
ENVIRONMENT:
Link 16 represents generally one or more of a cable, wireless, fiber optic, or remote connections via a telecommunication link, an infrared link, a radio frequency link, or any other connectors or systems that provide electronic communication. Link 16 may include, at least in part, an intranet, the Internet, or a combination of both. Link 16 may also include intermediate proxies, routers, switches, load balancers, and the like.
COMPONENTS:
Rule engine 22 is configured to analyze the mockup data to identify the desired characteristics, derive a conformance rule set based on the identified desired characteristics, and associate the conformance rule set with the user interface. The conformance rule set is an abstraction of the mockup data and is configured to be processed for use in generating conformance data indicative of differences between the desired characteristics and actual characteristics of a user interface produced by an application under test. In an example, rule engine 22 may analyze the visual representation provided in the mockup data to identify specific shapes that are correlated to known object types. The inclusion of an object type can be noted as well as characteristics such as size and color. Further, rule engine 22 may note the relative positions between two or more of the identified object types. In other words, rule engine 22 is configured to derive a conformance rule set based on desired user interface characteristics identified through an examination of mockup data for a user interface.
A conformance rule set can include, for example, rules specifying the inclusion of a specified user interface object, rules specifying the visual appearance of a specified user interface object, rules specifying relative visual appearances for a plurality of user interface objects as well as rules specifying a desired result of a specified interaction with a specified user interface object. Rule engine 22 may associate the conformance rule set with the user interface represented by the mockup data and stored in data repository 30. The association allows for later retrieval of the conformance rule set when testing conformance of the user interface as produced by an application under test.
Integration engine 22 may also be configured to access a screen capture data set for a user interface as produced by an application under test: A screen capture data set is electronic data that includes a visual image of the user interface, a series of visual images of the user interface, or a video of the user interface. Each visual image represents the user interface in a given state. A video may represent the user interface transitioning between states. Testing engine 26 is configured to analyze the screen capture data set to identify actual characteristics of the user interface and execute the conformance rule set against the identified actual characteristics to generate conformance data. In an example, testing engine 26 may analyze the visual representation provided in the screen capture data to identify specific shapes that are correlated to known object types. The inclusion of an object type can be noted as well as characteristics such as size and color. Further, testing engine 26 may note the relative positions between two or more of the identified object types. Testing engine 26 may also note a result of an interaction with an object. All Such notations represent examples of actual characteristics.
Communication engine 28 is configured to report the conformance data generated by test engine 26. As noted, conformance data is electronic data indicative of differences between desired characteristics of the user interface and actual characteristics observed from the screen capture data set. The conformance data can include a conformance indicator for each of the plurality of rules. A conformance indicator is data indicative of a level of conformance with a particular rule. For example, a rule may specify that a particular object is to be included. That rule is either fully complied with or not based on whether or not the object is included in the screen capture data. Another rule might specify a size and color of an object and a tolerance. That rule may be partially complied with if the size and color depicted in the screen capture data no not match the size and color specified by the rule but are within the tolerance.
Communication engine 28 may be configured to prioritize the conformance indicators based on relevance levels to the screen capture data. Thus a conformance indicator that indicates nonconformance may be prioritized of conformance indicator indicative of partial or substantial conformance or vice versa. Moreover rule might specify a desired result of an interaction with an object. If the screen capture data depicts an interaction with that object, a corresponding conformance indicator may be prioritized over another conformance indicator unrelated to an interaction with an object.
Communication engine 28 may report conformance data in a number of fashions. Conformance data may be included in electronic data communicated to an external testing application. Conformance data may be reported in a user interface or electronic message that includes text describing differences between the desired and actual characteristics. The report may also include a marked up version of the screen shot data that visually highlights the differences.
In foregoing discussion, various components were described as combinations of hardware and programming. Such components may be implemented in a number of fashions. Looking at
Memory resource 32 represents generally any number of memory components capable of storing instructions that can be executed by processing resource 34. Memory resource 32 is non-transitory in the sense that it does not encompass a transitory signal but instead is made up of more or more memory components configured to store the relevant instructions. Memory resource 68 may be implemented in a single device or distributed across devices. Likewise processing resource 34 represents any number of processors capable of executing instructions stored by memory resource 32. Processing resource 34 may be integrated in a single device or distributed across devices. Further, memory resource 32 may be fully or partially integrated in the same device as processing resource 34, or it may be separate but accessible to that device and processing resource 34.
In one example, the program instructions can be part of an installation package that when installed can be executed by processing resource 34 to implement system 18. In this case, memory resource 32 may be a portable medium such as a CD, DVD, or flash drive or a memory maintained by a server from which the installation package can be downloaded and installed. In another example, the program instructions may be part of an application or applications already installed. Here, memory resource 32 can include integrated memory such as a hard drive, solid state drive, or the like.
In
OPERATION:
Initially in
Analyzing in step 48 can include analyzing a mockup that includes a visual representation of the specified user interface and metadata to identify the desired characteristic. Moreover, deriving in step 50 can include deriving a conformance rule set that includes rules specifying the inclusion of a specified user interface object, rules specifying the visual appearance of a specified user interface object, rules specifying relative visual appearances for a plurality of user interface objects, and rules specifying a desired result of a specified interaction with a specified user interface object.
If in step 46, the communication is verify conformance of a user interface with a user experience design, a conformance rule set for a specified user interface is accessed. The conformance rule set includes rules indicative of a desired characteristic of the specified user interface. A screen capture of the user interface is analyzed to identify actual characteristics (step 54). The conformance rule set is processed to generate and report conformance data indicative of a difference between those desired characteristics and the actual characteristics (step 56). Referring to
In an example, the conformance rule set may include a first rule specifying a first desired characteristic and a second rule specifying a second desired characteristic. The conformance data generated in step 56 can be indicative of a first conformance indicator corresponding to the first rule and a second conformance indicator corresponding to the second rule. Reporting in step 56 can then include reporting the conformance data such that the first conformance indicator is prioritized over the second conformance indicator if the first desired characteristic includes a desired result of an interaction with an object of the user interface and the second visual characteristic does not.
As an example,
CONCLUSION:
Embodiments can be realized in any memory resource for use by or in connection with processing resource. A “processing resource” is an instruction execution system such as a computer/processor based system or an ASIC (Application Specific Integrated Circuit) or other system that can fetch or obtain instructions and data from computer-readable media and execute the instructions contained therein. A “memory resource” is any non-transitory storage media that can contain, store, or maintain programs and data for use by or in connection with the instruction execution system. The term “non-transitory is used only to clarify that the term media, as used herein, does not encompass a signal. Thus, the memory resource can comprise any one of many physical media such as, for example, electronic, magnetic, optical, electromagnetic, or semiconductor media. More specific examples of suitable computer-readable media include, but are not limited to, hard drives, solid state drives, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory, flash drives, and portable compact discs.
Although the flow diagram of
The present invention has been shown and described with reference to the foregoing exemplary embodiments. It is to be understood, however, that other forms, details and embodiments may be made without departing from the spirit and scope of the invention that is defined in the following claims.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/US2013/048185 | 6/27/2013 | WO | 00 |