IST Clock

Friday, June 18, 2010

Regional bug

Title of the post is inspired from a fellow tester Mohit’s blog. Thanks Mohit for inspiring !....

This post is an extension of my previous post Bugs found in routine internet surfing – 1 where I mentioned bug found on a local newspapers website. Now this Dainik Bhaskar’s (A Hindi Newspaper) websites irritates me a lot as recently I found another high priority defect related to the navigation on the website. Before reading further I request you to refer my previous post for more details on the previous defect. Now here is the latest bug –

NOTE - Before going further more , please note that it’s a Hindi newspaper.

Bug > High priority and medium severity (As per my perception)

Short description – News Paper Website missing with the value of one city in the drop down on the respective states home page

Steps –
1. Open the URL www.bhaskar.com and click on States TAB on the home page
2. Click on Madhya Pradesh and click further on the Madhya Pradesh link (This steps will take you to URL http://www.bhaskar.com/mp/ , you can directly hit this URL also)
3. Navigate down to the drop down with value “select city”. Yellow highlighted portion in the screen shot below-




Actual Result – There is no value saying “Gwalior” , however when the user types in http://www.bhaskar.com/mp/gwalior/ in the address bar s /he is redirected to the respective page.

there are lot of other GUI defects as well

Thanks & Regards,
Amit

Wednesday, June 16, 2010

Some common scene in software testing

After a long time, I am posting something. Actually in the past days I read some blog posts and was collecting ideas for my blog. So here I am sharing my views on present trends -

Scene # 1

Recently I was having a discussion with my colleague and good friend Sudarshan about the testing process followed in big companies (No need to name any one !...). Our debate turns towards the type of different types of test cases , I said the possible types can be Unit test cases (prepared & Used by developers), functional , integration, system / system integration , regression and UI. To my surprise he added some more terms which I never heard and one of the interesting term was GROOMED test cases. He explained me that groomed test cases are the test cases which contains everything defined in proper way objective, steps, test data, expected results to name a few. I was amazed after hearing this new type and thought that what I studied is wrong OR what ? . As per my opinion a test case should contain all these necessary elements and only after that it can be called as a test case so where this groomed term came in ??

I could imagine a interviewer working in big company who would have asked this question to a 3-4 years experienced candidate and giving feedback that he is lacking basics terms. Is this a basic / industry standard jargon.


In a recent blog post from one of the very senior member in testing community I read his predictions about the future of software testing industry. I appreciate his to the point predictions that testing process will become more complex and companies will demand more and more from testers. He also said that in order to stay in race testers need to distinguish themselves from the crowd. I agree to all this totally. What I want to add is testers should concentrate on gaining expertise in the respective technologies / domains they are working in also need to focus on the industry process which is catered by the software systems. But I do have some doubts coming in following scenes –

Scene # 2

Testers are expected to know maximum technologies UNIX , SQL …….. do companies utilize these skills properly. Recently one of my fiend joined a company as a Test Automation Engineer (Obviously he was interviewed with series of automation tools questions) but the work he was put on is a big question mark. He was put on manual testing / reporting and his manger told him to understand the product well for next few months. Result he is frustrated and now thinking to switch again in just 6 months.

Scene # 3

Almost in every interview testers are expected to know SQL , some questions related to this are put on. The most important in JOINS. They are being asked to write some queries on this. But tell me seriously in reality how many testers really writes such queries while testing the product/application. Consider a scenario where a tester has started working on a project containing 100’s of tables which even the developers don’t know then would you like a tester to write JOIN queries… in reality developers use to provide the queries to the testers initially and it depends on the testers perspective to learn the process OR not. It hardly matters in reality. And again many people are rejected in the interviews on the basis of these questions.

Scene # 4

This is really very amusing , I am into manual testing and in my CV/Resume I have mentioned this very clearly in the header line itself. Although I have very little knowledge about automation tools but no where I have mentioned QTP(in the projects as well). Now in the interview , the interviewer asks me # 1 Do you have knowledge of automation tools , # 2 have you worked on QTP/Any automation tool in any of your project. Now # 1 is OK but what about # 2 , has he gone through my profile OR he is taking interview just for the sake of taking and would find one reason to reject me. Also how did the recruiter shortlisted my profile

Anyways, there are many more !..................


Happy testing friends

Friday, June 4, 2010

Functional & non functional requirements

Functional & non functional requirements

Today’s post is about ‘Functional & non functional requirements‘. I found lot of articles on the internet explaining what are functional and non functional requirements in reference to a software system. Also this is a common question asked in software testing interviews :)

In all software systems there are basically two types of requirements namely functional requirements and non functional requirements.

Functional requirements of a software refers to the stated features of the software which it should have OR it should do in order to achieve satisfy the business needs. Functional requirements are business requirements which a software should have in order to satisfy the user needs of the business. These requirements describe what a software should do and how the user should use it in order to achieve a particular business flow / functionality. Technically functional requirements divides the software system into different modules with respect to the various operations OR logical group of operations and defines the attributes/features of these modules. As stated above, functional requirements satisfies business rules and changing the functional requirements will definitely change the functionality of the software systems.

IEEE defines functional requirements as -A system/software requirement that specifies a function that a system/software system or system/software component must be capable of performing. These are software requirements that define behavior of the system, that is, the fundamental process or transformation that software and hardware components of the system perform on inputs to produce outputs.

Typical functional requirements of a software system can be –
- Business Rules
- Transaction corrections, adjustments, cancellations
- User authentication and authorization
- Certification Requirement subject to certification compliance.
- Legal or Regulatory Requirements

Non functional requirements are other set of requirement that a software system should have so that the system should be more usable and reliable specifically. Non-functional requirements specify all the remaining requirements not covered by the functional requirements. These requirements are more related to / cater to user rather than to business rules. These are not the tasks that will be performed by the system instead these are the quality standards which are good to have by the system and thus does not effects systems functionality. These are not the mandatory requirements of the systems but in order to be a good software from users perspective it’s good to have these. Often these requirements are used to compare the products of similar functionality for example there are lots of total banking automation (TBA) solutions available in the market but decision of choosing a software depends on how reliable and secure a system is. Typical non-functional requirements are:

- Performance - Response Time, Throughput, Utilization,
- Scalability
- Reliability
- Recoverability
- Maintainability
- Security
- Usability
- Interoperability
- Compatibility

Wednesday, June 2, 2010

Appraisals

Friends,

June has started and we all are waiting for the appraisals, Our HR is busy with this too. Recently I came across one post from Parimala on her blog “Curious Tester” under the heading “Inferno around Designations”. This gives me idea of sharing my views on this all time burning topic 
Now they say to get a good hike you need to change organization some others say that to get a mere 30 % (let’s assume its industry standard) hike why should I lose my present appraisal as I can expect more higher offers after this appraisal. Don’t worry both these guys are right and I am not I am not denying any of these arguments. I just want to put my standpoint on both these arguments whether you are / you are not / you are waiting for changing the job first think of learning opportunities in the present / future company. In my opinion recognition of work is more important and when you are recognized you will definitely get a good appraisal in present organization while if your manager does not recognize your hard work and keeps on counting your mistake don’t wait for the appraisal and start looking for change since you can’t expect a good hike. All you will get is a mere hike while you can get much more when you change the job. Talking specific to TESTING, in many organizations where there is no separate test manager appraisal is done by project manager who is basically guy with development background. In such situations the appraisal depends on the feedback of other guys in team which is very harmful as the feedback would be taken from dev guys mostly. The appraisal here depends mostly on your relationship with development team and you might not get rewarded according to the efforts you did.

On the concluding note, my standpoint is when you look for change you should analyze on the learning opportunities in the present and future organizations as well. In case there is not enough learning opportunities then it’s better to look for change because professionally nothing is gained. After all software industry is a very dynamic and your learning matters a lot when counted with your experience, I have seen such examples where a person coming for a reputed company having years of experience asks how to take screen shot in case no tool like SNAGIT is available.


Wishing a very good future and appraisals to all readers !...................


Thanks & Regards,
Amit