Saturday, July 31, 2010

How to Perform Web Testing

Web testing checklist

1) Functionality Testing
2) Usability testing
3) Interface testing
4) Compatibility testing
5) Performance testing
6) Security testing




1) Functionality Testing:

Test for - all the links in web pages, database connection, forms used in the web pages for submitting or getting information from user, Cookie testing.
Check all the links:
• Test the outgoing links from all the pages from specific domain under test.
• Test all internal links.
• Test links jumping on the same pages.
• Test links used to send the email to admin or other users from web pages.
• Test to check if there are any orphan pages.
• Lastly in link checking, check for broken links in all above-mentioned links.

Test forms in all pages:

Forms are the integral part of any web site. Forms are used to get information from users and to keep interaction with them. So what should be checked on these forms?
• First check all the validations on each field.
• Check for the default values of fields.
• Wrong inputs to the fields in the forms.
• Options to create forms if any, form delete, view or modify the forms.

Let’s take example of the search engine project currently I am working on, In this project we have advertiser and affiliate signup steps. Each sign up step is different but dependent on other steps. So sign up flow should get executed correctly. There are different field validations like email Ids, User financial info validations. All these validations should get checked in manual or automated web testing.

Cookies testing:

Cookies are small files stored on user machine. These are basically used to maintain the session mainly login sessions. Test the application by enabling or disabling the cookies in your browser options. Test if the cookies are encrypted before writing to user machine. If you are testing the session cookies (i.e. cookies expire after the session’s ends) check for login sessions and user stats after session end. Check effect on application security by deleting the cookies. (I will soon write separate article on cookie testing)

Validate your HTML/CSS:

If you are optimizing your site for Search engines then HTML/CSS validation is very important. Mainly validate the site for HTML syntax errors. Check if site is crawl able to different search engines.
Database testing:
Data consistency is very important in web application. Check for data integrity and errors while you edit, delete, modify the forms or do any DB related functionality.
Check if all the database queries are executing correctly, data is retrieved correctly and also updated correctly. More on database testing could be load on DB, we will address this in web load or performance testing below.

2) Usability Testing:

Test for navigation:

Navigation means how the user surfs the web pages, different controls like buttons, boxes or how user using the links on the pages to surf different pages.
Usability testing includes:
Web site should be easy to use. Instructions should be provided clearly. Check if the provided instructions are correct means whether they satisfy purpose.
Main menu should be provided on each page. It should be consistent.

Content checking:

Content should be logical and easy to understand. Check for spelling errors. Use of dark colors annoys users and should not be used in site theme. You can follow some standards that are used for web page and content building. These are common accepted standards like as I mentioned above about annoying colors, fonts, frames etc.
Content should be meaningful. All the anchor text links should be working properly. Images should be placed properly with proper sizes.
These are some basic standards that should be followed in web development. Your task is to validate all for UI testing

Other user information for user help:

Like search option, sitemap, help files etc. Sitemap should be present with all the links in web sites with proper tree view of navigation. Check for all links on the sitemap. “Search in the site” option will help users to find content pages they are looking for easily and quickly. These are all optional items and if present should be validated.


3) Interface Testing:


The main interfaces are:

Web server and application server interface
Application server and Database server interface. Check if all the interactions between these servers are executed properly. Errors are handled properly. If database or web server returns any error message for any query by application server then application server should catch and display these error messages appropriately to users. Check what happens if user interrupts any transaction in-between? Check what happens if connection to web server is reset in between?

4) Compatibility Testing:



Compatibility of your web site is very important testing aspect. See which compatibility test to be executed:
• Browser compatibility
• Operating system compatibility
• Mobile browsing
• Printing options


Browser compatibility:


In my web-testing career I have experienced this as most influencing part on web site testing. Some applications are very dependent on browsers. Different browsers have different configurations and settings that your web page should be compatible with. Your web site coding should be cross browser platform compatible. If you are using java scripts or AJAX calls for UI functionality, performing security checks or validations then give more stress on browser compatibility testing of your web application. Test web application on different browsers like Internet explorer, Firefox, Netscape navigator, AOL, Safari, Opera browsers with different versions.


OS compatibility:


Some functionality in your web application is may not be compatible with all operating systems. All new technologies used in web development like graphics designs, interface calls like different API’s may not be available in all Operating Systems. Test your web application on different operating systems like Windows, Unix, MAC, Linux, Solaris with different OS flavors.


Mobile browsing:

This is new technology age. So in future Mobile browsing will rock. Test your web pages on mobile browsers. Compatibility issues may be there on mobile.
Printing options:
If you are giving page-printing options then make sure fonts, page alignment, page graphics getting printed properly. Pages should be fit to paper size or as per the size mentioned in printing option.


5) Performance testing:

Web application should sustain to heavy load. Web performance testing should include:

Web Load Testing
Web Stress Testing

Test application performance on different internet connection speed.
In web load testing test if many users are accessing or requesting the same page. Can system sustain in peak load times? Site should handle many simultaneous user requests, large input data from users, Simultaneous connection to DB, heavy load on specific pages etc.

Stress testing: Generally stress means stretching the system beyond its specification limits. Web stress testing is performed to break the site by giving stress and checked how system reacts to stress and how system recovers from crashes.
Stress is generally given on input fields, login and sign up areas.
In web performance testing web site functionality on different operating systems, different hardware platforms is checked for software, hardware memory leakage errors.


6) Security Testing:


Following are some test cases for web security testing:
• Test by pasting internal url directly into browser address bar without login. Internal pages should not open.
• If you are logged in using username and password and browsing internal pages then try changing url options directly. I.e. If you are checking some publisher site statistics with publisher site ID= 123. Try directly changing the url site ID parameter to different site ID which is not related to logged in user. Access should denied for this user to view others stats.
• Try some invalid inputs in input fields like login username, password, input text boxes. Check the system reaction on all invalid inputs.
• Web directories or files should not be accessible directly unless given download option.
• Test the CAPTCHA for automates scripts logins.
• Test if SSL is used for security measures. If used proper message should get displayed when user switch from non-secure http:// pages to secure https:// pages and vice versa.
• All transactions, error messages, security breach attempts should get logged in log files somewhere on web server.

Friday, July 30, 2010

QTP INTERVIEW QUESTIONS

1. How to create basic scripts from a manual test case in QTP?
2. How to add verification steps to tests?
3. How to use custom checkpoints in QuickTest Professional?
4. How to use database checkpoints?
5. How to manage objects in the Object Repository in QuickTest Professional?
6. How to parameterize tests?
7. How to customize checkpoints with parameters?
8. How to run an integrated test scenario using Multiple Actions?
9. How to use the QTP Step Generator?
10. How to use debug tools?
11. How to create virtual objects?
12. What is the difference between QTP Analog and Low-Level recording
modes?
13. Please describe Object and Smart Identification?
14. What is the difference between Per-Action vs. Shared Object Repositories?


Questions on Basics of the QTP functionality:


1. What are the main benefits of QuickTest Professional?
2. What is Add-In Manager in QTP?
3. What QTP Options do you know?
4. How to Identify Objects and their Properties?
5. What is the Object Repository?
6. How to Add Synchronization Steps?
7. How to Set the Global Sync Timeouts in QTP?
8. What is Regular Expressions and how to use them?
9. How to Create Data-Driven tests?
10. What are Checkpoints with Parameters?
11. What is the difference between Global and Local Data Sheets?
12. How to create Reusable and Multiple Actions?
13. Describe the benefits of the Step Generator.
14. What are the main options that are available in the Step Generator dialog
box?
15. What is Exception Handling?
16. What is Recovery Scenario Wizard in QTP?
17. Describe the purpose of a Database Checkpoint
18. What is the difference between Analog Recording and Low-Level Recording
in automation tools?
19. Describe Per-Action vs. Shared Object Repositories
20. Describe how and when Smart Identification is used

BUG LIFECYCLE

Thursday, July 29, 2010

SOFTWARE TESTING Interview questions

1. What is Software Testing?
Ans. Testing involves operation of a system or application under controlled
conditions and evaluating the results. The controlled conditions should include
both normal and abnormal conditions.
Testing is a process of executing a program with the intend of finding the
errors.

2. What is the Purpose of Testing?
Ans. The purpose of testing is
1· To uncover hidden errors
2· To achieve the maximum usability of the system
3· To Demonstrate expected performance of the system

3. What types of testing do testers perform?
Ans. Two types of testing 1.White Box Testing 2.Black Box Testing.

4. What is the Outcome of Testing?
Ans. The outcome of testing will be a stable application which meets the customer
Req's.

5. What kind of testing have you done?
Ans. Usability, Functionality, System testing, regression testing, UAT
(it depends on the person).

6. What is the need for testing?
Ans. The Primary need is to match requirements get satisfied with the
functionality
and also to answer two questions
1· Whether the system is doing what it supposes to do?
2· Whether the system is not performing what it is not suppose to do?

7. What are the entry criteria for Functionality and Performance testing?
Ans. Entry criteria for Functionality testing is Functional Specification /BRS
(CRS)/User Manual. An integrated application, Stable for testing.
Entry criteria for Performance testing is successfully of functional testing,
once all the requirements related to functional are covered and tested, and
approved or validated.

8. What is test metrics?
A. The objective of Test Metrics is to capture the planned and actual quantities the effort, time and resources required to complete all the phases of Testing of the SW Project.

9. Why do you go for White box testing, when Black box testing is available?
A. A benchmark that certifies Commercial (Business) aspects and also functional
(technical) aspects is objectives of black box testing. Here loops, structures,
arrays, conditions, files, etc are very micro level but they arc Basement for
any application, So White box takes these things in Macro level and test these
things Even though Black box testing is available, we should go for White box testing
also, to check the correctness of code and for integrating the modules.

10. What are the entry criteria for Automation testing?
A. Application should be stable. Clear Design and Flow of the application is
needed.

11. When to start and Stop Testing?
A. This can be difficult to determine. Many modern software applications are so
complex, and run in such an interdependent environment, that complete testing
can never be done.

Common factors in deciding when to stop are:
Deadlines (release deadlines, testing deadlines, etc.)
Test cases completed with certain percentage passed
Test budget depleted
Coverage of code/functionality/requirements reaches a specified point
Bug rate falls below a certain level
Beta or alpha testing period ends

12.What is Quality?
A. It ensures that software is a Bug free, delivered in time, within budget,
meets customer requirements and maintainable. Quality standards are different
in various areas like accounting department might define quality in terms of
Profit.

13. What is Baseline document?
A. The review and approved document is called as baseline document (i.e.) Test
plan, SRS.

14. What is verification?
A. To check whether we are developing the right product according to the
customer requirements r not .It is a static process.

15. What is validation?
A. To check whether we have developed the product according to the customer
requirements r not. It is a Dynamic process.

16. What is quality assurance?
A. Quality Assurance measures the quality of processes used to create a quality
product.
1.It is a system of management activities.
2.It is a preventive process.
3.It applies for entire life cycle.
4.Deals with Process.

17.What is quality control?
A. Quality control measures the quality of a product
1.It is a specific part of the QA procedure.
2.It is a corrective process.
3.It applies for particular product.
4.Deals with the product.

18.What is SDLC and TDLC?
A. Software development life cycle(SDLC) is life cycle of a project from
starting to ending of the project.
1.Requiremnts Specification. 2.Analysis
3.Design 4.Coding
5.Testing 6.User acceptance test(UAT)
7.Maintainance
Software Test Life Cycle(STLC) is a life cycle of the testing process.
1.Requiremnts Specification. 2.Planning
3.Test case Design. 4.Execution
5.Bug Reporting. 6.Maintainance

19.What are the Qualities of a Tester?
A. Tester should have qualities like
1.ability to break 2.paitence 3.communication
4.Presentation 5.team work. 6.negative thinking with good judgment skills

20.When to start and Stop Testing?
A. repeat

21.What are the various levels of testing?
A. The various levels of testing like
1· Ad - Hoc testing
2. Sanity Test
3. Regression Testing
4. Functional testing
5· Web Testing

22.What are the types of testing you know and you experienced?
A. I am experienced in Black Box testing.

24.After completing testing, what would you deliver to the client?
A. It is depend upon what you have specified in the test plan document.
the contents delivers to the clients is nothing but Test Deliverables.
1.Test plan document 2.Master test case document 3.Test summary Report.
4.Defect Reports.

25.What is a Test Bed?
A. Test bed means under what test environment (Hardware, software set up) the
application will run smoothly.

27.Why do you go for Test Bed?
A. We will prepare test bed bcoz first we need to identify under which
environment (Hardware,software) the application will run smoothly,then
only we can run the application smoothly without any intereptions.

28.What is Severity and Priority and who will decide what?
A. Severity and priority will be assigned for a particular bug to know the
importance of the bug.
Severity:How sevierly the bug is effecting the application.
Priority:Informing to the developer which bug to be fix first.

29.Can Automation testing replace manual testing? If it so, how?
A. Yes,it can be done manually when the project is small,having more time.
we can test with minimum number of users.

30.What is a test case?
A. A test case is a document that describes an input, action, or event and an
expected response, to determine if a feature of an application is working
correctly.

31.What is a test condition?
A. The condition required to test a feature.(pre condition)

32.What is the test script?
A. Test script is the script which is generated by an automation tool while
recording a application features

33.What is the test data?
A. Test data means the input data (valid, invalid data) giving to check the
feature of an application is working correctly.

34.What is an Inconsistent bug?
A. the bug which is occurring

35.What is the difference between Re-testing and Regression testing?
A Re-testing:Executing the same test case by giving the no. of inputs on same
build.
Regression testing:Executing the same test case on a modified build.

36.What are the different types of testing techniques?
A. 1.white Box testing 2.Black Box testing.

37.What are the different types of test case techniques?
A. 1.Equilance Partition. 2.Boundary Value Analysis. 3.Error guesing.

39.Differentiate Test bed and Test Environment?
A. Both are same.

40.What ifs the difference between defect, error, bug, failure, fault?
A. Defect: While executing the test case if u found any mismatch, then u will
report it to the development team, that is called defect.
Bug: Once the developer accepts your defect, then it is called as a bug.
Error: it may be program error or syntax error.

42. What is the difference between White & Black Box Testing?
A. White Box Testing: Based on the knowledge of the internal logic of an
application's code.Tests are based on coverage of code statements, branches,
paths, conditions.
Black Box testing:- not based on any knowledge of internal design or code.
Tests are based on requirements and functionality.

43.What is the difference between Quality Assurance and Quality Control?
A. Refer Question no.16 & 17
Quality Assurance measures the quality of processes used to create a
quality product. Quality control measures the quality of the product.

44.What is the difference between Testing and debugging?
A. The Purpose of testing is to show the program has bugs.
The Purpose of debugging is find the error/ misconception that led to failure
and implement program changes that correct the error.

45.What is the difference between bug and defect?
A. Defect:While executing the test case if u found any mismatch,the u will
report it to the development team,that is called defect.

Wednesday, July 28, 2010

5 common problems in the software development process

• Poor requirements - if requirements are unclear, incomplete, too general, or not testable, there will be problems.
• Unrealistic schedule - if too much work is crammed in too little time, problems are inevitable.
• Inadequate testing - no one will know whether or not the program is any good until the customer complains or systems crash.
• Featuritis - requests to pile on new features after development is underway; extremely common.
• Miscommunication - if developers don't know what's needed or customer's have erroneous expectations, problems are guaranteed.

Define usecase and testcase?

UseCase :
It is indepth detailed description about Customer
Requirments. it is developed from BRS/SRS. it is prepared
by business analyst or QA Lead.

Testcase:
It is a doument describing the input,action and
expected response to determine wether the application is
working correctly according to the customer requirments.
it is derived from srs,usecases and test scenarios. while
developing test cases we can find gaps in the requirments
also.

Use case is a set of scenario's of User requirement.
Test Case is a document Designed based on the Use case
To Evaluate between Expected & Actual Result.

USE cases is a pictorial representation of requirments.
Test Case is a document Designed based on the Use case
To Evaluate between Expected & Actual Result.

Tuesday, July 27, 2010

Difference between User Acceptance Test cases and System Test Cases

System Testing:
Finding the defects when the system is tested as a whole this also called as end to end testing. In this testing tester needs to test the application from log-in to log-out.

User Acceptance Testing:
User acceptance testing is to get the acceptance from the client. UAT is generally done at client's environment. Before UAT pre UAT should be done.

Web Testing Interview Questions

1. Describe some of the possible web page futures.

2. Question: What are possible configurations that could affect the testing strategy of any web site?
Answer: Hardware platform (PC, Mac), Browser software and version, Browser Plug-Ins, Browser settings options, Video resolution and Color Depth, text size

3. What is website usability testing.
Ans:- Usability testing is a technique used to evaluate a product by testing it on users…Testing to check “User Friendliness”

4. Why spell checker is not enough during testing spelling on web page?
Ans:- Because there are Pictures/Logos/Photos that may contain wrong spellings and the spell checker is not able to identify those errors.

5. Question: Name a few website mistakes that could cause configuration and compatibility bugs.
Answer: Non standard colors, frames, tables etc.

6. Question: What the latest web technologies do you know?
Answer: RSS

7.Question: Name some Alternative Browsers.
Answer: Opera, Mozilla

8. Describe some Caching Issues.
:-Cache is
A) HTML meta tags to prevent page caching. Every single possible combination and none work.
B) PHP Headers to prevent page caching. Every single possible combination and none work.
C)Proxy server caching issues.
NOTE:-So its slow down the overall Performance of the system. So we used to clean up the old cache time by time.

9. What HTML standard?

10.What web specific types of testing?

11.What is static and what is dynamic web page?

12.Question: Can the Netscape scripting host without plug-ins run Microsofts JScript on the client side?
Answer: No

13. Question: What is Glyphs?
Answer: Glyph is the picture of the character.

14.What techniques will cause double-byte problems to show up?
Ans:- ColdFusion MX is not compatible for unixs(Solaris).

15. What is Alt Key Input?

16. How will you decide when and what to test during performance testing?

17. Question: What types of web testing security problems do you know?
Answer:(Denial of Service (DoS) attack, buffer overflow)

18. Question: What types HTTP Response Codes do you know?
Answer: ( 2xx – success, 3xx – Redirection, 4xx – Client Error, 5xx – Server Error)

19. What errors can occur when the page loads?

20. What are the metrics what can be used during performance testing?

21. What HTML file extension can be used?

22. What are the differences between testing WEB application and testing client-sever
application?

23. Write test cases for Search Engine?

24. Difference between HTTP and HTTPS? Explain how the data is secured in
HTTPS?

25. What does DNS contains?

26. What is the difference between authentication and authorization?

27. What type of security testing you performed?

28. Difference between GUI and Usability Testing

What is difference between client server and Web Testing?

In client server application you have two different components to test. Application is loaded on server machine while the application exe on every client machine. You will test broadly in categories like, GUI on both sides, functionality, Load, client-server interaction, backend. This environment is mostly used in Intranet networks. You are aware of number of clients and servers and their locations in the test scenario.

Web application is a bit different and complex to test as tester don’t have that much control over the application. Application is loaded on the server whose location may or may not be known and no exe is installed on the client machine, you have to test it on different web browsers. Web applications are supposed to be tested on different browsers and OS platforms so broadly Web application is tested mainly for browser compatibility and operating system compatibility, error handling, static pages, backend testing and load testing.

What is base lining?

Baselining :

Process by which the quality and cost effectiveness of a service is assessed, usually in advance of a change to the service. Baselining usually includes comparison of the service before and after the Change or analysis of trend information. The term Benchmarking is normally used if the comparison is made against other enterprises.

For example :If the company has different projects.For each project there will be seperate test plans.This test plans should be accepted by peers in the organization after modifications.That modified test plans are the baseline for the testers to use in different projects.Any further modifications are done in the test plan.Present modified becomes the baseline.Because this test plan becomes the basis for running the testing project.

Saturday, July 24, 2010

Difference between gprs and edge technology in mobile phone

Further enhancements to GSM networks are provided by Enhanced Data rates for GSM Evolution (EDGE) technology. EDGE provides up to three times the data capacity of GPRS. Using EDGE, operators can handle three times more subscribers than GPRS; triple their data rate per subscriber, or add extra capacity to their voice communications. EDGE uses the same TDMA (Time Division Multiple Access) frame structure, logic channel and 200kHz carrier bandwidth as today's GSM networks, which allows it to be overlaid directly onto an existing GSM network. For many existing GSM/GPRS networks, EDGE is a simple software-upgrade.

EDGE allows the delivery of advanced mobile services such as the downloading of video and music clips, full multimedia messaging, high-speed colour Internet access and e-mail on the move.

Thursday, July 22, 2010

Differences between Sanity and Smoke testing

SMOKE TESTING:

1. Smoke testing originated in the hardware testing practice of turning on a new piece of hardware for the first time and considering it a success if it does not catch fire and smoke. In software industry, smoke testing is a shallow and wide approach whereby all areas of the application without getting into too deep, is tested.
2. A smoke test is scripted, either using a written set of tests or an automated test
3. A Smoke test is designed to touch every part of the application in a cursory way. It’s shallow and wide.
4. Smoke testing is conducted to ensure whether the most crucial functions of a program are working, but not bothering with finer details. (Such as build verification).
5. Smoke testing is normal health check up to a build of an application before taking it to testing in depth.

SANITY TESTING:

1. A sanity test is a narrow regression test that focuses on one or a few areas of functionality. Sanity testing is usually narrow and deep.
2. A sanity test is usually unscripted.
3. A Sanity test is used to determine a small section of the application is still working after a minor change.
4. Sanity testing is a cursory testing, it is performed whenever a cursory testing is sufficient to prove the application is functioning according to specifications. this level of testing is a subset of regression testing.
5. Sanity testing is to verify whether requirements are met or not, checking all features breadth-first.

Hope these points will help you to clearly understand the Smoke and sanity tests and will help to remove any confusion.

Tuesday, July 20, 2010

How can smoke testing be applied to mobile testing?

Smoke testing can be done on a Mobile once the latest build has been released to the testing team. Smoke test or build verification is nothing but just the basic functionality check for all the applications, test scope parameters that are involved in mobile application testing, testing very basic and important features of the mobile and also testing the showstopper issues at a higher priority level.

What is streaming?

Streaming is the process of downloading a content from the server. There are many techniques to download a content e.g. downloading, progressive downloading, streaming etc.

Downloading: Normal download and can be saved in the local machine, once saved user can play or do operation whatever he likes.
Progressing downloading: Whenever user selects a content it starts buffering and the same will be continued till the file ends playing. The content will be played once the buffer is finished. This could be even a min (e.g. if the buffer is completed for 1 sec the content will be played for one second) Streaming: When user selects a content to download, buffering takes place and once the buffer is over content will be played. Until then player does not get initiated. And user can save, play again or whatever the operation he requires.

How we test battery back up time using load testing especially for mobile testing ?

Below are given a few scenarios to test the mobile battery backup:

1. Charge the mobile up to maximum capacity.
2. Call to a number and continuously use it until the battery fully drained out. Measure the time of life for one full cycle.
3. Charge the battery up to 20% of it's capacity use it until the battery is fully drained out.
4. Charge the battery up to 40% of it's capacity use it until the battery is fully drained out.
5. Similarly check for 60%,80% of battery charge capacities and measure the battery backup time.
6. Verify the battery life by continuously sending SMSs.
7.Verify the (GUI) power indicating lines or levels correctly displaying or not with respect to actually charged battery level.
8.test the phone in non signal coverage area and measure the battery stand by time. (In non signal coverage area cell continuously searches for signals due to this the power continuously dissipated as radio frequency signals and battery drained very soon)

What is the difference between TDMA and FDMA?

TDMA is Time Division Multiple Access. In TDMA technology each user in the channel owns the channel bandwidth for some time in a round robin fashion. All GSM handsets use this technology.

FDMA is Frequency Division Multiple Access. In FDMA many users are allowed to transmit through the same channel at the same time. So each user at any particular time uses part of the bandwidth. CDMA handsets use this technology.

What is the advantage of symbian OS devices comparing with j2me and Brew OS devices?

1. Symbian is the latest OS where as j2me and Brew OSs are old ones.

2. Symbian OS has SIS file format where as j2me has JAR file format which means this is a third party software and anybody can develop softwares in this OS.

3. Symbian is a fast browsing and a fast operating system. j2me is not as fast.

4. Symbian OS provide touchscreen phones such as UIQ phones. No such facility on j2me.

5. Symbain OS has superior hardware access to the phone compared to j2me and Brew OS

6. Symbian OS offers rich UI.

Wednesday, July 14, 2010

ENTRY AND EXIT CRITERIA

Entry Criteria:

1. Business needs are confirmed.
2. Business Requirement document prepared by Analyst
3. Estimation of IT infrastructure
4. Aqusition of resources
5. Project kick off meeting is done and sign off is given

Exit Criteria:

1. All the testing has been performed as defined
2. 100% test coverage is met
3. All the bugs raised are resolved, retested and closed.
4. Product goes live with optimal quality and standards
meeting customer requriements and satisfaction

BASIC INTERVIEW QUESTIONS

1. Tell me about yourself:

The most often asked question in interviews. You need to have a short statement prepared in your mind. Be careful that it does not sound rehearsed. Limit it to work-related items unless instructed otherwise. Talk about things you have done and jobs you have held that relate to the position you are interviewing for. Start with the item farthest back and work up to the present.

2. Why did you leave your last job?

Stay positive regardless of the circumstances. Never refer to a major problem with
management and never speak ill of supervisors, co-workers or the organization. If you do, you will be the one looking bad. Keep smiling and talk about leaving for a positive reason such as an opportunity, a chance to do something special or other forward-looking reasons.

3. What experience do you have in this field?

Speak about specifics that relate to the position you are applying for. If you do not have specific experience, get as close as you can.

4. Do you consider yourself successful?

You should always answer yes and briefly explain why. A good explanation is that you have set goals, and you have met some and are on track to achieve the others.

5. What do co-workers say about you?

Be prepared with a quote or two from co-workers. Either a specific statement or a
paraphrase will work. Jill Clark, a co-worker at Smith Company, always said I was the
hardest workers she had ever known. It is as powerful as Jill having said it at the interview herself.

6. What do you know about this organization?

This question is one reason to do some research on the organization before the interview. Find out where they have been and where they are going. What are the current issues and who are the major players?

7. What have you done to improve your knowledge in the last year?

Try to include improvement activities that relate to the job. A wide variety of activities can be mentioned as positive self-improvement. Have some good ones handy to mention.

8. Are you applying for other jobs?

Be honest but do not spend a lot of time in this area. Keep the focus on this job and what you can do for this organization. Anything else is a distraction.

9. Why do you want to work for this organization?

This may take some thought and certainly, should be based on the research you have done on the organization. Sincerity is extremely important here and will easily be sensed. Relate it to your long-term career goals.

10. Do you know anyone who works for us?

Be aware of the policy on relatives working for the organization. This can affect your answer even though they asked about friends not relatives. Be careful to mention a friend only if they are well thought of.

11. What kind of salary do you need?

A loaded question. A nasty little game that you will probably lose if you answer first. So, do not answer it. Instead, say something like, That's a tough question. Can you tell me the range for this position? In most cases, the interviewer, taken off guard, will tell you. If not, say that it can depend on the details of the job. Then give a wide range.

12. Are you a team player?

You are, of course, a team player. Be sure to have examples ready. Specifics that show you often perform for the good of the team rather than for yourself are good evidence of your team attitude. Do not brag, just say it in a matter-of-fact tone. This is a key point.

13. How long would you expect to work for us if hired?

Specifics here are not good. Something like this should work: I'd like it to be a long time. Or As long as we both feel I'm doing a good job.

14. Have you ever had to fire anyone? How did you feel about that?

This is serious. Do not make light of it or in any way seem like you like to fire people. At the same time, you will do it when it is the right thing to do. When it comes to the organization versus the individual who has created a harmful situation, you will protect the organization. Remember firing is not the same as layoff or reduction in force.

15. What is your philosophy towards work?

The interviewer is not looking for a long or flowery dissertation here. Do you have strong feelings that the job gets done? Yes. That's the type of answer that works best here. Short and positive, showing a benefit to the organization.

16. If you had enough money to retire right now, would you?

Answer yes if you would. But since you need to work, this is the type of work you prefer. Do not say yes if you do not mean it.

17. Have you ever been asked to leave a position?

If you have not, say no. If you have, be honest, brief and avoid saying negative things about the people or organization involved.

18. Explain how you would be an asset to this organization

You should be anxious for this question. It gives you a chance to highlight your best points as they relate to the position being discussed. Give a little advance thought to this relationship.

19. Why should we hire you?

Point out how your assets meet what the organization needs. Do not mention any other
candidates to make a comparison.

20. Tell me about a suggestion you have made?

Have a good one ready. Be sure and use a suggestion that was accepted and was then
considered successful. One related to the type of work applied for is a real plus.

21. What irritates you about co-workers?

This is a trap question. Think real hard but fail to come up with anything that irritates you. A short statement that you seem to get along with folks is great.

22. What is your greatest strength?

Numerous answers are good, just stay positive. A few good examples:
Your ability to prioritize, Your problem-solving skills, Your ability to work under pressure, Your ability to focus on projects, Your professional expertise, Your leadership skills, Your positive attitude .

23. Tell me about your dream job.

Stay away from a specific job. You cannot win. If you say the job you are contending for is it, you strain credibility. If you say another job is it, you plant the suspicion that you will be dissatisfied with this position if hired. The best is to stay genetic and say something like: A job where I love the work, like the people, can contribute and can't wait to get to work.

24. Why do you think you would do well at this job?

Give several reasons and include skills, experience and interest.

25. What are you looking for in a job?

Stay away from a specific job. You cannot win. If you say the job you are contending for is it, you strain credibility. If you say another job is it, you plant the suspicion that you will be dissatisfied with this position if hired. The best is to stay genetic and say something like: A job where I love the work, like the people, can contribute and can't wait to get to work.

26. What kind of person would you refuse to work with?

Do not be trivial. It would take disloyalty to the organization, violence or lawbreaking to get you to object. Minor objections will label you as a whiner.

27. What is more important to you: the money or the work?

Money is always important, but the work is the most important. There is no better answer.

28. What would your previous supervisor say your strongest point is?

There are numerous good possibilities:
Loyalty, Energy, Positive attitude, Leadership, Team player, Expertise, Initiative, Patience, Hard work, Creativity, Problem solver

29. Tell me about a problem you had with a supervisor

Biggest trap of all. This is a test to see if you will speak ill of your boss. If you fall for it and tell about a problem with a former boss, you may well below the interview right there. Stay positive and develop a poor memory about any trouble with a supervisor.

30. What has disappointed you about a job?

Don't get trivial or negative. Safe areas are few but can include:
Not enough of a challenge. You were laid off in a reduction Company did not win a contract, which would have given you more responsibility.

31. Tell me about your ability to work under pressure.

You may say that you thrive under certain types of pressure. Give an example that relates to the type of position applied for.

32. Do your skills match this job or another job more closely?

Probably this one. Do not give fuel to the suspicion that you may want another job more than this one.

33. What motivates you to do your best on the job?

This is a personal trait that only you can say, but good examples are:
Challenge, Achievement, Recognition

34. Are you willing to work overtime? Nights? Weekends?

This is up to you. Be totally honest.

35. How would you know you were successful on this job?

Several ways are good measures:
You set high standards for yourself and meet them. Your outcomes are a success.Your boss tell you that you are successful

36. Would you be willing to relocate if required?

You should be clear on this with your family prior to the interview if you think there is a chance it may come up. Do not say yes just to get the job if the real answer is no. This can create a lot of problems later on in your career. Be honest at this point and save yourself future grief.

37. Are you willing to put the interests of the organization ahead of your own?

This is a straight loyalty and dedication question. Do not worry about the deep ethical and philosophical implications. Just say yes.

38. Describe your management style.

Try to avoid labels. Some of the more common labels, like progressive, salesman or
consensus, can have several meanings or descriptions depending on which management
expert you listen to. The situational style is safe, because it says you will manage according to the situation, instead of one size fits all.

39. What have you learned from mistakes on the job?

Here you have to come up with something or you strain credibility. Make it small, well intentioned mistake with a positive lesson learned. An example would be working too far ahead of colleagues on a project and thus throwing coordination off.

40. Do you have any blind spots?

Trick question. If you know about blind spots, they are no longer blind spots. Do not reveal any personal areas of concern here. Let them do their own discovery on your bad points. Do not hand it to them.

41. If you were hiring a person for this job, what would you look for?

Be careful to mention traits that are needed and that you have.

42. Do you think you are overqualified for this position?

Regardless of your qualifications, state that you are very well qualified for the position.

43. How do you propose to compensate for your lack of experience?

First, if you have experience that the interviewer does not know about, bring that up: Then, point out (if true) that you are a hard working quick learner.

44. What qualities do you look for in a boss?

Be generic and positive. Safe qualities are knowledgeable, a sense of humor, fair, loyal to subordinates and holder of high standards. All bosses think they have these traits.
45. Tell me about a time when you helped resolve a dispute between others.
Pick a specific incident. Concentrate on your problem solving technique and not the dispute you settled.

46. What position do you prefer on a team working on a project?

Be honest. If you are comfortable in different roles, point that out.

47. Describe your work ethic.

Emphasize benefits to the organization. Things like, determination to get the job done and work hard but enjoy your work are good.

48. What has been your biggest professional disappointment?

Be sure that you refer to something that was beyond your control. Show acceptance and no negative feelings.

49. Tell me about the most fun you have had on the job.

Talk about having fun by accomplishing something for the organization.

50. Do you have any questions for me?

Always have some questions prepared. Questions prepared where you will be an asset to
the organization are good. How soon will I be able to be productive? and What type of
projects will I be able to assist on? are examples.

Sunday, July 11, 2010

GSM vs CDMA

1. GSM structure limits the number of users at certain QOS while CDMA system allows graceful degradation of QOS with increase in number of users within the cell

2. GSM works on hexagonal cell structure where each adjacent cell are having different frequency for operation and each cell can communicate with a maximum of fix number of mobile
users while CDMA there is not strict cell structure and every mobile user uses the entire freqency band.

3. GSM cells are relatively small in size and power efficient for mobile users while CDMA cells are big in size can accomodate more number of users but they are not as power efficient as GSM cells.

3. Hacking a GSM system is relatively easy than CDMA. CDMA is secure in this term

4. GSM system is popular in commercial application where QOS is more important while CDMA is popular for millitary and scientific experiments where data security and other issues are important. There days CDMA system is getting more popular due to no hard limit on number of users

Cookie testing

What is Cookie?
Cookie is small information stored in text file on user’s hard drive by web server. This information is later used by web browser to retrieve information from that machine. Generally cookie contains personalized user data or information that is used to communicate between different web pages.

Why Cookies are used?
Cookies are nothing but the user’s identity and used to track where the user navigated throughout the web site pages. The communication between web browser and web server is stateless.

Generally two types of cookies are written on the user machine.

  1. Session cookies: This cookie is active till the browser that invoked the cookie is open. When we close the browser this session cookie gets deleted. Some time session of say 20 minutes can be set to expire the cookie.

  2. Persistent cookies: The cookies that are written permanently on user machine and lasts for months or years.

Test cases:

  1. As a Cookie privacy policy make sure from your design documents that no personal or sensitive data is stored in the cookie.

  2. If you have no option than saving sensitive data in cookie make sure data stored in cookie is stored in encrypted format.

  3. Make sure that there is no overuse of cookies on your site under test. Overuse of cookies will annoy users if browser is prompting for cookies more often and this could result in loss of site traffic and eventually loss of business.

  4. Disable the cookies from your browser settings: If you are using cookies on your site, your sites major functionality will not work by disabling the cookies. Then try to access the web site under test. Navigate through the site. See if appropriate messages are displayed to the user like “For smooth functioning of this site make sure that cookies are enabled on your browser”. There should not be any page crash due to disabling the cookies. (Please make sure that you close all browsers, delete all previously written cookies before performing this test)

  5. Accepts/Reject some cookies: The best way to check web site functionality is to not accept all cookies. If you are writing 10 cookies in your web application, then randomly accept some cookies, say accept 5 and reject 5 cookies. For executing this test case you can set browser options to prompt whenever cookie is being written to disk. On this prompt window you can either accept or reject cookie. Try to access a major feature of web site. Check if pages crash or data becomes corrupt.

  6. Delete cookie: Allow site to write the cookies and then close all browsers and manually delete all cookies for web site under test. Access the web pages and check the behavior of the pages.

  7. Corrupt the cookies: Corrupting a cookie is easy. You know where cookies are stored. Manually edit the cookie in notepad and change the parameters to some vague values. You can alter the cookie content, the name of the cookie or expiry date of the cookie and check the site functionality. In some cases, corrupted cookies allow other domains to read the data inside them. This should not happen in case of your web site cookies. Note that the cookies written by one domain say rediff.com can’t be accessed by other domain say yahoo.com unless and until the cookies are corrupted and someone tries to hack the cookie data.

  8. Checking the deletion of cookies from your web application page: Sometimes a cookie written by a domain, say rediff.com may be deleted by the same domain but by a different page under that domain. This is the general case if you are testing some ‘action tracking’ web portal. Action tracking or purchase tracking pixel is placed on the action web page and when any action or purchase occurs by the user, the cookie written on the disk is deleted to avoid multiple action logging from same cookie. Check if reaching your action or purchase page deletes the cookie properly and no more invalid actions or purchases get logged from the same user.

  9. Cookie Testing on Multiple browsers: It is an important to check if your web application page is writing the cookies properly on different browsers as intended and site works properly using these cookies. You can test your web application on popular browsers like Internet explorer (Various versions), Mozilla Firefox, Netscape, Opera etc.

  10. If your web application is using cookies to maintain the logging state of any user, then log in to your web application using some username and password. In many cases you can see the logged in user ID parameter directly in browser address bar. Change this parameter to different value say if previous user ID is 100 then make it 101 and press enter. The proper access message should be displayed to user and user should not be able to see other users account.

These are some Major test cases to be considered while testing website cookies. You can write multiple test cases from these test cases by performing various combinations. If you have some different application scenarios, you can mention your test cases

Saturday, July 10, 2010

Handset Bluetooth testing

“What is Handset Bluetooth testing?” This is a very common interview question for handset testing. First let us see what is “Bluetooth”.

Bluetooth:- It is an wireless protocol for exchanging data from fixed and mobile devices over a short distance.

Now that we are clear with the definition of Bluetooth, let’s move on to Bluetooth testing of mobile/handheld devices.

Today all mobiles have this feature and following pointers must be kept in mind while doing Bluetooth testing.

  1. Initially check the visibility of the device to others while trying to search your device (Master)
  2. Try to pair with device.
  3. Change the visibility time (Ex: On, 1min, 3 min etc)
  4. Rename the device (Slave)and try to pair with same (Master)device and check for the name update in Master
  5. Transfer of files from Master to slave and slave to master
  6. Connect the call via BT headset
  7. Try to pair with maximum devices allowed to pair.
  8. Try to share the files with all the maximum paired devices at a time
  9. Check that BT can be invoked from Multimedia applications while trying to send the media/files
  10. Try to send the contact via BT

I think this small information will help you all up to certain extent.

Test your Mobile Application on Nokia RDA

Getting any mobile application Tested on various devices when they are not available has always been a great problem for developers .Even after porting your application on various devices, it is very important to get it tested for overall success of that application.

But the real problem is How many devices you can buy since number of devices are too large.That’s why we use Emulators.However we can not completely rely on emulators also.We need to test our application on real devices or closest platform which will provide real device like capabilities.For this is it not a bad idea to test your application via Remote device access?Here you do not need to buy devices for getting your application tested on real devices.Nokia RDA is platform for the same.

What is Nokia RDA ?

  • Nokia RDA is a web based Remote device access service where you can add and test your application on several Symbian and Maemo™ devices.

What can be tested ?

  • Symbian C++, Java, and Adobe Flash Lite applications.
  • Qt, Python, and Open C (after installation of the required plug-ins).
  • Various types of content, such as themes.
  • Web widgets, web pages, and other types of web applications and content.

What’s the service cost for using this ?

  • Zero.Its free of cost.You just need to register for a fre account.

How does it work ?

  1. Register for Nokia forum here.
  2. Go to Nokia RDA here
  3. Check whether your desired device is available in “Available Now” devices.
  4. If yes move focus over that devices and select for how much time you want to reserve device.(Reserve a Device)
  5. Start.
  6. Save launchdevui.jnlp file.
  7. Double click on same file.
  8. You get Nokia RDA Device interface which you have selected.
  9. Now select Install Software button on TOP Left.
  10. Select file followed by option Install.
  11. Install Your application.
  12. Run your application from Application Manager.

Main features:

  • You can install and run following files: .SIS, .SISX, .JAR, and .WGZ files.
  • You can change screen orientation from portrait and landscape modes on devices that support this feature.
  • You can Change color depth and reduced resolution mode to improve response time.
  • Debug logs. View text files and capture Symbian OS panics.
  • Later Reservation: If any device is engage, you can reserve it for later use.
  • This service is free.

Drawbacks:-

  • Since you access devices remotely it takes time for any action or key event.
  • It do not support audio.
  • Some times the needed device is not available due to prior reservations.

Testing Wireless Java Applications

Challenges of Testing Wireless Applications

The wide variety of Java technology-enabled devices such as wireless phones and PDAs results in each device running a different implementation of the CLDC and MIDP. Varying display sizes add to the complexity of the testing process. In addition, some vendors provide proprietary API extensions. As an example, some J2ME vendors may support only the HTTP protocol, which the MIDP 1.0 specification requires, while others support TCP sockets and UDP datagrams, which are optional.

To make your application both portable and easy to test, design it using standardized APIs defined through the Java Community Process (JCP), so it will run as-is on devices with different J2ME implementations. If you feel you must use vendor-specific extensions, design your application in such a way that it defaults to the standard APIs if it's deployed on a device that doesn't support the extensions.

Testing Wireless Java Applications

The testing activities described above are applicable to testing wireless Java applications. In other words, you perform unit or class testing, then you integrate components and test them together, and eventually you test the whole system. In this section I provide guidelines for testing wireless applications.

Validating the Implementation

Ensuring that the application does what it's supposed to is an iterative process that you must go through during the implementation phase of the project. Part of the validation process can be done in an emulation environment such as the J2ME Wireless Toolkit, which provides several phone skins and standard input mechanisms. The toolkit's emulation environment does not support all devices and platform extensions, but it allows you to make sure that the application looks appealing and offers a user-friendly interface on a wide range of devices. Once the application has been tested on an emulator, you can move on to the next step and test it on a real device, and in a live network.

Usability Testing

In usability testing (or GUI navigation), focus on the external interface and the relationships among the screens of the application. As an example, consider an email application that supports entry and validation of a user name and password, enables the user to read, compose, and send messages, and allows maintenance of related settings, using the screens shown in Figure 1, among others.

Network Performance Testing

The goal of the next type of testing is to verify that the application performs well in the hardest of conditions (for example, when the battery is low or the phone is passing through a tunnel). Testing performance in an emulated wireless network is very important. The problem with testing in a live wireless network is that so many factors affect the performance of the network itself that you can't repeat the exact test scenarios. In an emulated network environment, it is easy to record the result of a test and repeat it later, after you have modified the application, to verify that the performance of the application has improved.

Server-Side Testing

It is very likely that your wireless Java applications will communicate with server-side applications. If your application communicates with servers you control, you have a free hand to test both ends of the application. If it communicates with servers beyond your control (such as quotes.yahoo.com), you just need to find the prerequisites of use and make the best of them. You can test server-side applications that communicate over HTTP connections using HttpUnit (a Java API for accessing web sites without a browser. It is ideally suited for automated unit testing of web sites when combined with a Java unit test framework such as JUnit, which I'll discuss in the next section. You can also measure a web site's performance using httperf, a tool designed for measuring the performance of web servers).

Conclusion

Testing is a systematic approach to finding errors in programs. It is a very challenging process in the wireless application market because an application is developed on one platform and deployed on ones that are vastly different. The process is complicated even further by the availability of a wide range of devices that implement different versions of the KVM, CLDC, and MIDP, and that provide extension APIs not available on all devices. To achieve the maximum portability, verify that your applications use the standard APIs.

Difference between smartphone Operating Systems

Comparative study – Major smartphone Operating Systems

1) iPhone OS –

Pocket size version of the Mac OS X, was shrunk and redesigned to power the iPhone 3G. Embracing a smart user interface, thousands of apps, millions of downloads from app store and a revolutionizing user-experience. Apple doesn’t permit the use of its OS on third-party hardware.

AppStore– Developers after registering on the website can upload their applications onto App store for millions of users to download at the designated price. Apple takes a share of that price and gives the other share to the developers. Over 185,000 applications reside on App store at this moment and have already been downloaded more than 4 billion times.

iPhone OS has four abstraction layers: the Core OS layer, the Core Services layer, the Media layer, and the Cocoa Touch layer. The operating system uses roughly 500 megabytes of the device’s storage.

Presently XCode 3.1 is the development environment and the applications are written in Objective C (a variant of language C).

2) Symbian

Made Open Source by contributions from Nokia, NTT DoCoMo, Sony Ericsson and Symbian Ltd

Symbian has a microkernel architecture, which means that the minimum necessary is within the kernel to maximize robustness, availability and responsiveness. It contains a scheduler, memory management and device drivers, but other services like networking, telephony and filesystem support are placed in the OS Services Layer or the Base Services Layer. The inclusion of device drivers means the kernel is not a true microkernel. The EKA2 real-time kernel, which has been termed a nanokernel, contains only the most basic primitives and requires an extended kernel to implement any other abstractions.

The operating system consists of the kernel and middleware components of the software stack. The upper layers are supplied by application platforms like S60, UIQ, and MOAP.

3) webOS

Runs on Linux kernel with proprietary components developed by Palm.

Underneath the graphical user interface sits a software stack that has much in common with mainstream Linux distributions for desktop computers. webOS uses, among other components, the Linux kernel, Upstart, GStreamer as multimedia framework, libpurple for instant messaging, Simple DirectMedia Layer (SDL) for game programming, PulseAudio for audio management, and WebKit.Applications for webOS are written in JavaScript, HTML, AJAX, and some other common ‘web’ technologies, which is handled by WebKit, as well as C and C++. It supports streaming video in RTSP, H.263, and H.264 formats.

Palm publishes a webOS software development kit called Mojo which can be accessed from the launcher screen

4) BlackBerry OS

Proprietary software platform, created by Research In Motion, for BlackBerry phones.

The operating system provides multitasking and supports specialized input devices that have been adopted by RIM for use in its handhelds, particularly the trackwheel, trackball, and most recently, the trackpad and touchscreen.

The BlackBerry platform is perhaps best known for its native support for corporate email, through MIDP 1.0 and, more recently, a subset of MIDP 2.0, which and allows complete wireless activation and synchronization with Microsoft Exchange, Lotus Domino, or Novell GroupWise email, calendar, tasks, notes, and contacts, when used in conjunction with BlackBerry Enterprise Server. The operating system also supports WAP 1.2.

5) Bada

Developed by Samsung Electronics.

The Bada operating system has a kernel configurable architecture, which allows the use of either the Linux kernel, or another Real-time operating system (RTOS) kernel. The Linux kernel is the preferred choice for smartphones, while RTOS is used for cheaper feature-phones, due to its smaller memory footprint.

It has a web browser based on the open-source WebKit, and also features Adobe Flash. Both WebKit and Flash can be embedded inside native Bada applications. Bada offers interactive mapping with Point of interest (POI) features, which can also be embedded inside native applications.

Bada supports various sensors, such as motion sensing, vibration control, face detection, accelerometer, magnetometer, tilt, and GPS, which can be incorporated into applications.

Native applications are developed in C++ with the Bada SDK, and the Eclipse based IDE. Bada can also run Java ME applications (MIDP profile).

6) Windows Mobile

The current version is called “Windows Mobile 6.5″. It is based on the Windows CE 5.2 kernel, and features a suite of basic applications developed using the Microsoft Windows API. It is designed to be somewhat similar to desktop versions of Windows, feature-wise and aesthetically. Additionally, third-party software development is available for Windows Mobile, and software can be purchased via the Windows Marketplace for Mobile.

Third-party software development is available for the Windows Phone operating system. There are several options for developers to use when deploying a mobile application. This includes writing native code with Visual C++, writing Managed code that works with the .NET Compact Framework, or Server-side code that can be deployed using Internet Explorer Mobile or a mobile client on the user’s device. The .NET Compact Framework is actually a subset of the .NET Framework and hence shares many components with software development on desktop clients, application servers, and web servers which have the .NET Framework installed, thus integrating networked computing space (a.k.a. “The Cloud”)

  • Windows Mobile Professional runs on ‘Windows Phones’ with touchscreens
  • Windows Mobile Standard runs on ‘Windows Phones’ with regular screens
  • Windows Mobile Classic which runs on ‘Windows Mobile Classic devices’

7) Android

Backed by Google, presently owned by Open Handset Alliance, Android is more than just an operating system. It is a software stack encompassing middleware and key applications and is based on a modified version of Linux Kernel.

The Android SDK includes debugger, libraries, a handset emulator, documentation, sample code, and tutorials.

Google promotes application development for Android based phones by having a dedicated team at their own end and also organizing developer competitions from time to time.

Google’s own participation in app development for Android platform – These applications include Google Voice, Sky Map, Finance, Maps Editor, Places Directory for their Local Search, Google Goggles that searches by image, Google Translate, Listen for podcasts and My Tracks.

Apart from these major OSs,there are many others that share smaller markets, viz., Ubuntu, Maemo etc.