Saturday 30 March 2013

Adding Cross References to Figures - in Word 2007


A Cross Reference in a word document assist us in adding a reference to a figure or any other object(headings, bookmarks, captions, numbered paragraphs, tables, footnotes, end notes) located in our document through a paragraph text.



Eg: Find the related diagram in Figure 2.1 on page 13




In above example, the highlighted fields are the cross references in the paragraph text. If we use cross reference in Word, then Word will do automatic updates to the cross references. So that we don't need to go to each and every reference and edit them, if we have added or deleted new objects. 




To cross reference a figure , follow the below steps.


1. Select the caption of the figure
2. Go to References ribbon
3. Locate the Captions panel
4. Click on Cross Reference. But don't Insert the cross reference until the below steps are followed.




5. Then click on the paragraph to add a cross reference.
6. Edit the fields in  Cross-Reference dialog box.



7. Choose the Reference type from the drop down.



As we are adding a cross reference to a figure select Figure

8. Then select the preferred option from Insert reference to: drop down.





If you need to add the cross reference with only the figure label and number, then select Only label and number or choose the desired from the available options.


9. Then select the object that we want to refer in the paragraph text from For which caption




10. Click on Insert. The caption will be added to the paragraph text. 

Adding captions to figures - in Word 2007


Adding captions to a quite a lot of images and formatting them one at a time is a very time consuming task. Instead of doing so, we can use MS Word's built in functions.

Lets first try to insert a caption with a preferred formatting to an image. Follow the steps below.

Tips : Always use the Insert-->Picture method to insert a picture to a word document in order to avoid any hassles. I was used to drag and drop or copy and paste an image from a image folder which gave me a lot of troubles. But now using the correct method and I'm hassle free.      

1. Select the picture
2. Go to References ribbon
3. Locate Captions panel
4. Click on Insert Caption


You will get the following Caption dialog box.


Change the Label to suite your requirement. It can be a Figure, Table, Equation or anything you want. You can add whatever you want by using New Label.

Position will let you define the placement of the caption.

More options for numbering the figure is available at Numbering. Use Include Chapter Number to add chapter numbers to the figure as well.




So do the changes according to your wish and proceed. The caption will be available along with the image. Apply Styles to the caption if you want to change the formatting.






















Saturday 23 March 2013

USSD and Service Codes



USSD stands for Unstructured Supplementary Service Data. )It is a protocol which is used by GSM cellular telephones to communicate with the service provider's computers.

USSD today is being used to provide a vast number of services. Such as menu-based information services, mobile banking, WAP browsing, location-based content services and many more.


How does USSD work ?


Information through USSD is sent directly from a sender’s mobile handset to an application handling the USSD service. The USSD service might locate in the sender’s mobile network or in a visited mobile network as well. 

To send  USSD information, there need to establish a real-time “session” between the mobile user and the USSD application platform. This real time session is initiated when the USSD service is invoked. So it is obvious that USSD is not working as SMS. Both can be distinguished from each other because SMS has a store and forward mechanism while USSD has a real time session initiation. As a result of the real time session, data is being sent back and forth between the mobile user and the USSD application platform until the USSD service is completed. More over this makes USSD more responsive when compared to services which use SMS.


What are USSD service codes ?



Specific 'MMI strings' (MMI stands for Man Machine Interaction) or telephone numbers can be dialed from a user’s “mobile station” (mobile handset) to initiate USSD services. These numbers can be named as USSD Service Codes as well. 

3GPP TS 22.090 specifies the standard format for USSD service codes. According to the standards the code format should be as follows;


“1, 2 or 3 digits from the set (*, #) followed by 1X(Y), where X=any number 0-4, Y=any number 0-9, then, optionally “* followed by any number of any characters”, and concluding with # SEND”.

So the application developers can build and install services ( eg: a menu driven service) within a particular mobile network and let the users obtain their service via USSD. 


Image courtesy : http://blog.arrivedok.mobi/tag/ussd/



Working with ‘Styles’ in word 2007




There are predefined set of Styles available in ‘Styles’ panel located at ‘Home’ ribbon. However, the people who write documents adhering to certain standards are not contended with these styles at all, as they have their own styles and standards for document formatting.

Think of a situation, where you are writing headings, sub headings and content for 10-12 chapters of a document and applying different font sizes, colors and thicknesses to achieve variations. You will definitely have to put much effort and time on this document creation task. 

But you can create your own styles very easily and use them to achieve variations in your document.It is very easy. Follow the steps below;

1. Go to 'Home' ribbon-->'Styles' panel and click on the arrow shown below.


2. From the 'Style' window, select New Style icon.


3. Then you will land on 'Create New Style from Formatting'. Now, create your styles as your wish....



I created a brown colored heading of size 26 with a hyphen. More formatting options are available in the 'Format' menu available at the bottom right side. 

4. Now the created style is available in the 'styles' panel. Write down the words, then click on your created style to apply formatting. It is easy as that.  

Saturday 9 March 2013

Why NoSQL databases?


Before moving on to “Why” these NoSQL databases, let’s consider “What” are these NoSQL databases....


  • Simply the NoSQL databases are not using SQL and they are not relational. 
  • Second, NoSQL is designed for distributed data stores for very large scale data needs. 


NoSQL databases provide a simple, lightweight mechanism for storage and retrieval of data and they provide higher scalability and availability than traditional relational databases. 

These NoSQL databases usually do not use a 'SQL' approach for storing data. In simple terms they do not store the data in the form of “tables”. On the other hand they use looser consistency models to achieve horizontal scaling (that is “scaling up”) and higher availability (as the database is distributed in several commodity computers). 

These no SQL databases are commonly used by prominent internet companies such as Face book, Google, Amazon which have challenges in working with large volume of data and the typical RDBMSs cannot handle.

So in these companies, data is partitioned or distributed among several machines. Then the performance and size related limitations can be handled efficiently. As the data is distributed among several machines, traditional “join” operations cannot be used. However we could be able to obtain a distributed, fault-tolerant architecture. 

So now let’s move on to why these No SQL databases....

#1.  Flexible scaling

In traditional databases, the database administrators relied heavily on scaling up the database. That is buying bigger servers as database load increases. But in NoSQLs they can rather use scaling out. That is the distribution of the database across multiple hosts as the load increases.

RDBMS do not scale out easily on commodity clusters. But these NoSQL databases are designed in a way, so that they can take the advantage of new nodes. And also they are designed to work efficiently with low-cost commodity hardware.

#2. Can handle lots of data

The companies which are overloaded practically with data volumes cannot use RDBMSs to handle their data. But NoSQL databases can handle a large amount of data.

#3. Requires less management

RDBMS systems can be maintained only with the support of expensive and highly trained DBAs. But NoSQL data bases can be maintained with less management as it uses automatic repair, data distribution, and simpler data models.

#4. Economic

NoSQL databases have the capability to use clusters of cheap commodity servers to manage high data and transaction volumes. Therefore it is economic than purchasing high capacity single servers.

#5. Flexible data models

NoSQL databases such as Key Value stores and document databases allow the application to store virtually any structure it wants. But even the minor changes to the data model of RDBMSs need to be carefully carried out as it affects the whole databases.



Sunday 3 March 2013

Test Automation

When we think about test automation what exactly coming to our mind is running test cases with out human intervention.But test automation is not simple as that.

In simple terms, test automation is using special software other than software being tested, in order to control the execution of tests and to carryout the comparison of actual outcomes to predicted outcomes.

In test automation there need to be a good test code which is written by a tester at the first place. One of the biggest mistakes being carried out by the people who automate tests is that they do not try to maintain the quality  of the test code. They sometimes try to write tests and finish them as soon as possible to save their time. But it is necessary to maintain the quality of the test code as they maintain the quality of product software. Otherwise what happens is;
  • The test code writers will have to spend most of their time maintaining their test code, if they have done writing test cases superficially.
  • And the other thing is that they will also have to go on investigating failed tests.   
Ultimately the test code automation will never be able to reduce the time of writing and executing the test cases and it will be a futile method of testing.

Usually the expected amount of automating tests should be 100%  from the tests that any tester has. The automated tests resides as binaries (such as exe or dll) or as scripts (Java Scripts, Quick Test Pro, Power Shell, python). So when executing the tests these names are called for execution.

First of all we need a  place to run the tests.The place where all the automated tests are going to run is called the Automated Test Lab. Several machines can be used in the lab to run test cases in parallel.

After that there should be a consideration on "how to distribute the test cases among the machines we have in test lab". We can allocate a separate set of machines to do this task. These machines are named as test controllers. Test controller machines are provisioned with test cases by a "Test case manager/ DB"

After finishing the execution of the tests by the test execution machines in the automated test lab, they signal the test controller about their completion.

Ultimately the test results from test lab are taken for analysis and report generation. So this is all about test automation.