Tuesday, January 31, 2012

Localized Application.

In sri lanka we can find some localized OS and applications. But how many people use those. As i know more than 99% of computer users use English OS and applications, even though they are speaks only sinhala or Tamil. According to wikipedea the English literacy in Sri Lanka is 10%.

Contradiction.... then why?

The main reason is the computer english is not a problem for 90% of the computer users. So other 10% is a narrow cheap market.

So... is it same for mobile phone applications...?

NO. Actually it is completely different. Mobile technology is a technology that has go masses. (According to the latest updates sri lankans use around 20 million mobile phones which is exactly equal to the sri lankan population.) Sri lankans can use a mobile phone even it has english menus. BUT... they prefer to get the informations (means the value added services.) in their mother language. So 90% of mobiles need local language support. [Wide cheap market.]

Ex: News alerts, Medical information, Fun talks..

Thursday, January 26, 2012

Interesting features in Bugzilla. [OTW]

Sudo Session.


One user impersonate another. This is a very powerful feature in the bugzilla. The users in the Admin group will get this feature in default. When a session starts the impersonated user will get an email from bugzilla. It says the person that impersonate him/her and the reason which is mention by that person. That is the only message that he/she receives and nothing else. The impersonated person can't stop that, but he/she can send a mail to the bugzilla maintainer.


If any other user need to do it?
   To do that you need to be in the "bz_sudoers" group and also you need permission to access to the "users" link in the admin area.


Any Protection?
  Yes, if you are in "bz_sudo_protect" group others can't impersonate you.




Add bug URLs filed.


The bugs can be related to the previous bugs. In that case we can use the "Depends on" or "Blocks" fields. But if that previous bug is in another installation we should use this field (Add bug URLs) to mention that URL. [mm... more than one? Sure, you can mention them comma separately]

Bug life cycle.




Monday, January 23, 2012

qwerty

Qwerty-indelingImage via Wikipedia
May be you are not familiar with this word. Check your key board's first line of letters. The first 6 letters. Actually it use to naming the key pad. Like numerical key pad, "Qwerty key pad" use to mention the other part of the key board.

Friday, January 20, 2012

lsusb

Story.
I bought a wireless keyboard and a mouse. How ever it doesn't work on my machine. (Compaq 420 Lap)  But it start to work on my friends machine. It has Windows and my one has Fedora 13. (Honestly i didn't mumble anything to sales person....) Surprisingly it works in Fedora 16 machine.

Question.
How to check whether my machine detect the device?

Answer.
lsusb - List information of all USB buses and all the devices connected to them.

There is a same kind of command for PCI. Its slpci - List all pci devices.

http://linux.about.com/library/cmd/blcmdl8_lsusb.htm

p.s. That start to work after changing the USB port. :D

Thursday, January 19, 2012

Windows phone application features.

There are two mandatory basic features that a windows mobile application should have.

  1. If user press "Back" button on the phone at the application's home page, it should log out.
  2. If user press "Windows" button on the phone at any page in the application it should minimize.  
These features are common for the android applications too. But the second one is not exactly matching. Actually there is no windows key on android phones. ;)  Instead of that it has "Home" button.

Wednesday, January 18, 2012

Whining. [Bugzilla - over the wall]

[Two three days before i had to add some new versions and components to the bugzilla. So as usual i sent mails to sys admin. Due to more mails i got chance to get some authentication for "Product" area in Admin page. Other than that some how i got the permission for "Whining" too..] :) story.

"Set queries which will be run at some specified date and time, and get the result of these queries directly per email. This is a good way to create reminders and to keep track of the activity in your installation." Yes.. I have copy pasted the whining description from bugzilla. In my words whining helps to filter the bugs and email in predefine time or time periods. The saved names of search criteria can use to filter the bugs in whining. Whining let us to do the scheduling.

http://www.bugzilla.org/docs/tip/en/html/whining.html

Other than that there are two more things to do.

  1. Need to set a cron job in bugzilla installed machine.
    */15 * * * * cd  ; ./whine.pl [pls check my previous post for crons] ;) 
  2. Need to become a member of "bz_canusewhines" group. [mmm.. you need to access for groups area in admin page. else contact sys admin]

    Note: Better to take the membership of "
    bz_canusewhineatothers" group too. It gives permission to create whines for others.
mm... i guess this is more usable for Managers and people who more concern about project status. 

Advantages.
  1. No need to think more about CC list of bugzilla components.
  2. This is a some kind of a automation for bugzilla status reports.

Monday, January 16, 2012

Chrome back button shortcut.

Chrome browser has a back button in the upper left hand corner. But sometimes chrome opens pop up pages which doesn't has any button. Actually i court in trapped there. When doing Testopia test run it create pop up windows for bug reporting. One time i forgot to select the "Componet" and hit "Submit". [$#@@#$]
Bugzilla gives an error message saying "You didn't select component... bla bla.. Go Back". But how to go back.... The backspace button also didn't work for me. :( However the Alt key helps me. (The key of the day... :D)

Alt + left arrow.            

hmm... you are correct. 'Alt + right arrow' is the "Next" button short cut key.

Make window transparent. (Fedora)

This is a short cut key i accidentally found. I'm working in Fedora V13.
Alt + Mouse wheel

When we are working in one window and need to see another lightly. [say  you need to write steps by looking at a graph.]

Sunday, January 15, 2012

Robotium

Like selenium (Which i talked earlier..) this also a test automation tool. But this time there is a different. This tool use to automate android applications. There are lot of features that i like.
  • Its free. [No need a credit card.. ;)]
  • No need to have the source code of application.
  • Need to write the test cases from user point of view.
  • Seems easy to write the test cases. [still not start to swim... :P]
  • Can view the GUIs changing while test run. 
  • According to the Robotium people there is a benefit like "Integrates smoothly with Maven or Ant to run tests as part of continuous integration". Sounds good.  Means we can filter more bugs before the QA release... ;)

Wednesday, January 11, 2012

'BUDU AMMO' Mark in command prompt.

[:D ..... Exclamation mark "!"] It's a some kind of a recall command. We can use it to recall a command which we use earlier without typing its all things. [mm... you need an example. Right?]
OK.. lets say you use "ssh root@192.168.0.11" earlier to connect to another machine. And you have already disconnect from it. Again you need to connect to it. So simply what you need to do is type "!ssh" and press enter.
It will grab the rest of that command. You can use it to "cp", "mv" etc...

How it works.
It start to go through its history [means what we have entered previously. You can get it using "history" command. ;)] from bottom to up. [mm... last come first go] It check's whether there are commands start with the given letters. It will execute the first match.

Other ways...
You can use "Ctrl + R" shortcut at the command prompt. Then the prompt becomes like this
(reverse-i-search)`':
then you can start to type your command. It will automatically search a matching command from the history. When you got it, simply you need to press enter.

Testopia [Over the wall]

While we doing a test run some times we met some bugs related to other products. (mm.. other means not related to the testing product. Say SRS) Then what we are doing is initiate a bug for it. (Yes.. that's the normal procedure and it will track to closure) But other than that to get the maximum from Testopia we can create a test case for that bug. The Testopia extension (for Bugzilla...) provide a link "Create a test case" at the top of the bug page. 
We need to select the product. Then need to set the Priority, Category and Status. Testopia load the bug description to the Action field. From that we can "cut" and "copy" the "Setup" and "Expected Results" fields.

Advantage.
  1. The method of finding the bug will never dismiss. Each and every test run we can check whether the same bug occurs again due to another change.
  2. If the same bug occurs again the tester don't need to memorize whether this has a reported bug. Cause Testopia care about it. 

Tuesday, January 10, 2012

Report a bug.

As i mention earlier Testopia is a Test case management system. While running a test run we check the product met the requirements. If it is yes, the test case will pass. Else fails. So we have to track it in the next version. Because of the we report a bug in Bugzilla. Testopia was designed to bind those bugs with the particular test case. 
When reporting a bug through the testopia it automatically generates Product name, Component and Version. Other than that we have to set the platform, OS, bug status, title and description. Among those things title and the description are the most important things. 
Title - Should be a single line. But need to describe the bug very briefly.
Description - Should consist of three major parts with optional part. 

  1. Steps to reproduce. - It should be clear for any developer. Not only for the implementor.
  2. Actual outcome - Clearly mention what you see/get.
  3. Expected outcome - If the bug reporting for a test case clearly mention the requirement. 
  4. Position of the requirement in the SRS. (Optional) - SRS name, Version and the requirement number or  page number with line number.

Thursday, January 5, 2012

Testopia

Don't say it as "Test" --  "Opia". There is no meaning. But using that words can understand that is a something related to testing. I have familier with Bugzilla. This Testopia is something like a plugin working on the bugzilla. As we know we use bugzilla for report bugs of a program while doing the testing. This Testopia helps to organize test cases. (mmm... not the code related test cases. Im talking about SRS test cases written by a QAE)
So no need to write the test cases on excel sheets anymore. So any one can view the test cases easily related to the particular projects.
The other important thing is we can create test runs. That means we can select particular test cases and create a test run for a project. So while doing the test run it automatically show the progress in the dash board. And also while doing the test run we can report bugs for failed test cases. (.. Nice,, isn't it.)

[Ok.. i know your question... ;)     Its coming soon on My Road....  How to install Testopia]

Wednesday, January 4, 2012

Login without a password.

ssh-keygen
hmm... This is use to generate the private and public keys to authenticate ssh. Yesterday i had to use this command to generate a public key as per our network admins request. [You are wrong... he's a good one..! ;)] He told me that i don't need to type the password each and every time when i'm connecting to the GIT. [mm...  it's a version control system like SVN.]
Fortunately it light up a new idea. [yes... new for me.. :D] 
Ok.. These are the steps.

1) $> ssh-keygen -t rsa         : Generate private/public rsa keys.

         Enter file in which to save the key (/home/kumudu/.ssh/id_ras) : <return>
         Enter passphrase (empty for no passphrase):  <return>

         Enter same passphrase again:  <return>
         Your identification has been saved in /home/kumudu/.ssh/id_rsa.
         Your public key has been saved in /home/kumudu/.ssh/id_rsa.pub.
         The key fingerprint is:
         67:5b:54:e8:1f:eb:46:7a:00:3b:72:33:9a:cc:d3:32 kumudu@hmslp030
         The key's randomart image is:
         +--[ RSA 2048]----+
          |                          ..  |
          |                         ..   |
          |                        ..    |
          |                       ... .  |
          |                 S oo.. o |
          |                 .o*o. +  |
          |                o *.+ =   |
          |                   E . . +  |
          |                    +   o   |
         +-------------------+

Ok... Your public key is in /.ssh/id_rsa.pub file. 

2) $> ssh-add      :  This will add the generated keys to ssh. (If you miss this you will get a message like "Agent admitted failure to sign using the key." while connecting to the remote machine.  [I spend lot of time to find this...])

3) Copy that public key onto remote machines' .ssh/authorized_keys file. (mmm... normally this file doesn't exist. Just create a new file named "authorized_keys" in .ssh folder and copy the public key into it.)

4) Then make the file permission as follows. (Actually i don't know the exact reason for this. Without this permission ssh refuse to use the key)
       $> chmod 600 .ssh/authorized_keys

5) $> ssh <profile_name>@<remote_host>


hmmm... thats all.. I tested it on fedora machine and ubuntu machine. 

Advantages.
  • If someone ask for login to your machine through ssh, simply ask him to send the rsa public key. Then add it to your autherized_keys file. [you don't need to expose your password]
  • The other person don't need to remember your password. [yes.. yes... only the ip ;)]
  • If you want to stop him just remove the key... 



Monday, January 2, 2012

Selenium

Yesterday i thought to find a test tool. My requirement was to find a tool for test web pages. Also it should be a simple one. (Yes... i don't like to jump at once..) How ever i found "Canoo web test", "Selenium", "Watin" and "Watir" as popular test tools. But Selenium is familiar for me. Cause there was a simulator called as selenium which i was used 3 years ago. (http://www.seleniumsoftware.com/downloads.html

SeleniumHQ (Web application testing tool) http://seleniumhq.org/
It has lot of tools. Selenium 1, Selenium 2, Selenium IDE, Selenium Grid like wise. As per the introduction this Selenium IDE is the easiest tool to learn. (Woww.. it can plug in to firefox. )
It has a feature called record. As a beginner i feel it was very attractive feature. We can record what we do on a particular web page and rerun it. (Yes... it generates all the commands automatically when we running the trail)

to be cont....