Subscribe by Email


Showing posts with label Images. Show all posts
Showing posts with label Images. Show all posts

Sunday, March 31, 2013

Software development - Keeping track of stuff such as images across versions - Part 2

This is a series of posts on the handling of items other than code during the development of different versions of a software application. In the first post of this series (Keeping tack of images and other content during software development - Part 1), I took the case of the icons, images and other graphics that are used in a software product and which may be used as the same across different versions or updated when a new version of the product is used. For example, the application icon would be updated everytime a new version is released, so that it can also be differentiated from previous versions and also seek to graphically display the theme of that specific release. I will be adding more details in this post, focusing on the graphics and images.
The theme of this series is about how we do a lot of effort to ensure tracking of different versions of the code of a product (given that the code is seen as the most important valuable of the release in terms of being its Intellectual Property - and the IP of products such as Photoshop, MS Office, and others is very valued by the organizations that build these products) in a code repository, and with the use of processes such as labeling and branching, easily able to track which version of code was contained in which release.
However, my experience in multiple versions of a major software application led me to believe that this same sort of focus is not put on the non-code items that also form part of the application. I have already talked about the graphics and images that are used in an application and how my experience led to believe that organizations can very disregard the need for having a good process regarding these items. Let me continue on the same example that I was using earlier.
We had a team that would provide us the graphics and we would go through several rounds of discussions, sharing these graphics with the core team and the team that would create the installers that were an integral part of the application. However, the process was so haphazard in terms of their sending us the original set and later versions by email (as .zip attachments), and the process of reviewing them (even though we tried various options such as using Excel, Wiki, or even filing for changes as defects) did not provide a high level of confidence that the process would be error-free. And so it turned out, in the sense that invariably we would find out that some graphic was missing, and so on and so forth. Further, there was an additional element of complexity in this discussions, since the size required of the graphics was different.
The application dialogs, the installer dialogs and other such dialogs had different requirements in terms of size of such graphics, and so there was a need to ensure that we were communicating these different size requirements, and then receive the different sizes. Since they were producing such graphics in a large size, it eventually turned out better for them to send us multiple sizes of each graphic and we could pick and choose the one we liked. We did try using a more process oriented tool for this purpose, but getting a creative team to follow tight processes and the like were very problematic and caused additional stress for the program manager of the team once the process was put in place and the creative team did not follow the defined processes. As a further example, once they provided us these sizes, there was no effective place other than a folder on a server to save these, and if you needed a different size in the next version of the product, it could be real hard to work these.

More in the next version of this post (Keeping track of stuff such as graphics and others across software versions - Part 3 - TBD).


Tuesday, January 29, 2013

What are the features of Eggplant testing tool? How is Eggplant run?


Eggplant is the GUI test automation tool that uses the black box approach in its testing process. The product stands out in the category of the GUI test automation tool and has even received US patent for its extra ordinary features. 

Features of Eggplant

The features of eggplant are:
  1. Guided record mode: This record mode is quite sophisticated in comparison to the regular mode. It generates code by means of capturing the images thus avoiding the extra and unnecessary recording of the keyboard and mouse events.
  2. Debugging
  3. Code completion
  4. Eggplant can be integrated very well with the other quality management software. It can be further used for augmenting the systems like the HP quality center.
  5. Eggplant features an execution only mode i.e., the software testers and developers have the freedom of running the tests unattended via the command line interface of the eggplant.
 It can be used for a number of testing methodologies such as:
  1. Mobile testing
  2. Cross browser testing
  3. Cross platform testing
  4. Rich internet application testing
  5. Performance testing
A free trial of eggplant software can be downloaded from the website of the company. Some additions that were made to the version 11 of the eggplant are:
  1. Integration of the OCR engine
  2. Sense talk scripting
  3. Mac OS X lion support
The mobile version of the eggplant lets the software testers to carry out automated testing on mobile devices. Eggplant mobile provided a universal solution for testing the mobile applications across a number of mobile operating systems such as the following:
  1. Android
  2. iOS
  3. blackberry
  4. Symbian
  5. Windows
- The OCR engine that was integrated in version 11 of the eggplant is a global one and also supports the latest version of the windows – windows 8. 
- The scripts developed by the eggplant are reusable. 
- The eggplant software can be made ready within an hour and you can start writing test scripts and executing them without wasting much time.

- To set up the eggplant software follow the below mentioned steps:
Ø First install the eggplant application.
Ø Now set up the system under test and install a VNC server on it.
Ø Set up a VNC connection.
ØFor a better understanding of how to use the application it is recommended that you take a tour of it.

Testing Process with Eggplant

Now we present a brief overview of the testing process with eggplant:
  1. Set up your SUT and a VNC connection as mentioned previously in the article.
  2. The SUT is controlled through eggplant so that you can capture images indicating the SUT interface elements. These are the elements with which you want the eggplant to have an interaction with.
  3. Third stage involves generation of the scripts that guide the eggplant regarding what is to be done at the image locations that you have selected.
  4. You can execute the scripts as many times as you require carrying out a particular task such as validating a process.
  5. The result is generated in the suite editor and consists of detail run info and statistics that you can use for analyzing your results.
Best thing about eggplant is that even if it can be installed only on one computer (since it comes only with one computer per license), it can test any number of other computers. The scripts are created on the controller machine from where they can be executed on any other computer. This it does through the VNC (virtual network computing) server which sends the commands to the SUT. 


Monday, September 24, 2012

What is the Difference between Bitmap Check point & Image Check point in QTP?


There are two types of major check points that are provided by the quick test professional namely:
  1. Bit map check point and
  2. Image check point

What is Bitmap and Image Check Point?

- The expected bit map of an object is captured using the bitmap check point while the recording process is in progress. 
- While a run session is in progress and the actual bitmap matches, a pass to the test result is returned by the expected bitmap. 
- If the above is not the case, the test is said to have failed. 
- While the recording is in progress, it is better to insert the bitmap check point rather than inserting it in the active screen. 
- Inserting the check point in the active screen would pose the problem since the possibility is that the active screen may or may not have the latest bitmap updates and making changes to the screen at that time can cause the whole program to fail. 
- To know the difference in the scripts before and after inserting a check point, simply disable a button and run the script. 
- Then insert the check point, enable the button and run the script again. You would be able to see the difference for yourself. 
- For inserting the bitmap check point in to the test script open up a blank test in quick test professional and then open the application that you want to check and start recording. 
- You will get a record and run settings window, select the tab titled “windows application”, then “record and run test on any windows based application” and hit OK. 
- Go to the check point’s option in the insert menu and select the bitmap check point option and insert it where you want.  
- The bitmap check point properties can be changed. 
- Now when the test is run a pass in the test result is recorded by the quick test professional. 
- The basic use of the bitmap check points is in making comparisons between objects and images pixel by pixel. 
- The comparison is carried out for the following:
  1. RGB color variations and
  2. Total deviation in number of pixels.
- By matching the captured bitmaps one can the appearance of the elements in the application. 
- Bitmap check point has proved to be great help in checking bitmap of a full web page or an image. 
- On the other hand, an image check point cannot check the pixels and therefore it is basically employed in checking properties like source file location of a web site or web page. 
- The area of an application or a web page can be checked as a bitmap. 
- The area to be checked can be specified by selecting an object while creating a test. 
- The selected object is specified as a bitmap and then the check point can be inserted in the test. 
- This calls for a large disk space so in order to save space you have the option of saving only the selected area of the object.
- The bitmap check point also allows you to check the zooming property of the maps and they can be created for all supporting testing environments. 
- The results of the bit map check point may be affected by color settings, screen resolution and operating system but this is not so in the case of the image check points. 
- The properties of an image are verified by image check point under AUT whereas only an area of the AUT is verified as a bitmap by the bitmap checkpoint.  


Tuesday, June 26, 2012

What are some common tools for installation testing?


Introducing a new student to the rest of the class gives us a practical example of the installation testing. The new student should be properly introduced to the rest of the class so that he/ she feel comfortable. Same holds true for software systems and applications. The effectiveness of any testing however also depends up on the type of the testing tools used. In this article we shall be discussing about some common tools for installation testing. 
If the installation of your software product fails, what impression it will make of you on the customer? Obviously it will cost you your reputation. How can you avoid such pathetic and embarrassing conditions? "Answer is by testing the software system’s or application’s installer with an appropriate combination of both the automated and manual processes on different machines and with different configurations". 
The factor of which you should be most concerned is nothing but “time” since installation testing eats up a lot of time, so you got to be wise and use testing tools that can save up your time. Execution of even a single test case takes a lot of time in installation testing. Now imagine if you are going to perform installation testing on a big software system or application? How much it is going to cost you? Before you start installation testing you need to decide on how many systems and configurations you are going to install the application software. Prepare a basic hard disk drive for this purpose with some other basic necessary components.

Role of Installation Testing Tools


- There are testing tools available that will help you in making sets of each of the configurations like file format and operating system that are used in the further installation testing.
- There are many other tools that can be used to automate the whole installation testing process.
- This involves setting out some systems for creating basic images of the base configuration. This can be done by using testing tools like Norton ghost which can create exact image of the operating systems very accurately and quickly.
- This step is guaranteed to save a huge amount of your time for each test case.
- Creating images takes only 5- 10 minutes whereas installing one Operating System with basic configuration takes up to one hour.
- There are some other tools that allow you to use one operating system with multiple attempts of installation.
- But in this case you will need to uninstall the application again and again and prepare the base state for the next installation.
- Apart from all the other testing tools, use flow diagrams also serve as a great aid for performing the installation testing.
- Use flow diagrams simplify the whole task so amicably.
- These flow diagrams can be further used for automating the test efforts since very easily these diagrams can be converted in to the automated scripts.
- Some test tools have been developed that test the installer scripts which are further used to check the disk space required for the installation.
- These tools make sure that only the required amount of space is utilized and not more than that otherwise an error is flagged. You should be careful with the fact that the space required is different for different file system formats.
- Another tool that can help you a big deal with installation testing is “distributed testing environment”.
- Adopting this methodology you can very effectively handle all the different test cases from just one machine and it saves you a lot of time.  


Sunday, October 30, 2011

Different licensing situations in software development - Part 4

In previous posts (licensing situations in software), I have talked about how not licensing any sort of stuff not owned by you can cause a lot of problems. This can be when you are using software that is not owned by your company (and for which you have not taken the license to use within your software), or when you are using content such as images that does not belong to you. Another great example is when you use quotes / sections from books / parts of poems that do not belong to you (which can happen if you are developing a software that does some sort of word processing / helps in the creative process / have a website that provides some sort of content (such as a site that provides you electronic greeting cards)). All these cases lead you towards violation of somebody else's ownership and possible legal action against you.
If you think that this is not serious, consider the following cases:
Claims by Microsoft (link). These claims are from Microsoft against Open Source software.
Action against Microsoft (link). This was a judgment against Microsoft by a judge for the incorporation of some software.
These are big cases, but there are smaller cases that happen all the time, where companies have to pay damages because they are using some components for which the licensing is not proper. So, you need to ensure that any component that you integrate, or any content owner by others that you integrate, all needs to be thought through and part of a strategy.
Well, this is enough for this post, will write more on this topic in the next post.


Sunday, February 13, 2011

Interface Analysis - User Analysis

Interface analysis involves four steps:
- understanding the end-users who will interact with the system.
- understanding tasks that users should perform.
- understanding content.
- environment in which tasks will be conducted.

USER ANALYSIS IN INTERFACE ANALYSIS


Each user has a image or a perception of the software that may be different from the image and perceptions developed by other users. Information that is obtained from different sources can be used to understand users themselves as well as how people will use the system:
- User Interviews to better understand their needs, motivations and other issues.
- Sales input that is obtained when sales people meet with customers and users on regular basis.
- Marketing input
- Support input obtained when support staff talk with users on a daily basis.

To understand better the users of a system, interface designer can take help of following questions:
- are users trained professionals?
- what level of education?
- what is primary language?
- what and how are users compensated?
- what is age range?
- are users capable of learning from written materials or classroom training?
- what are consequences if user makes a mistake using a system?
- are users expert in subject matter addressed by the system?
- do users want to know about the technology that sits behind the interface?


Monday, January 24, 2011

What are different tasks representing WebApp interface design?

The user interface design begins with
- identification of user.
- identification of task.
- identification of environmental requirements.
Once these are identified, user scenarios are created and analyzed.

TASKS REPRESENTING WEB APPLICATION INTERFACE DESIGN ARE:


- The information that is contained in the analysis model is reviewed and refined as required.
- A rough sketch of web application interface layout is developed.
- The user objectives should be mapped into specific interface actions.
- A set of user tasks associated with action should be defined.
- Each interface action should have a storyboard screen image which depicts the interface response to user interaction.
- The input from aesthetic design should be used to refine the interface layout and storyboards.
- Implementing interface requires user interface objects. These user interface objects should be identified which may require a search through an existing object library.
- A procedural representation of user's interaction with interface is developed.
- A behavioral representation of the interface is also developed. It may use UML state diagrams to represent state mechanisms.
- Each state's interface layout is described using design information developed in tasks 2 and tasks 5.
- The interface design model should be refined and reviewed.


Facebook activity