Microsoft Interview Question for Software Engineer in Tests






Comment hidden because of low score. Click to expand.
4
of 4 vote

These are some of the test cases I came up with, I covered many areas and there would many gaps but for an initial draft this would work.

How would you test a Keyboard?
Questions to ask:
1. What kind of keyboard is this? Computer, piano, iphone, or sliding keyboards (PDA)
a. Assuming its for computer
2. For whom is this keyboard for? Physically handicapped, what kind, blind, or normal, children?
a. Assuming its for a general human being
3. Who are these users? English, French, Russian?
a. English
4. What features should this keyboard support? Wireless, wired, multimediat support, volume control, Mac or PC (for win key)
a. Assume plain vanilla keyboard that you've seen from old days, without win key
5. Where is this keyboard used? On a laptop or desktop
a. Desktop
6. What format should of keys should the keyboard support? Qwerty or others?
a. Qwerty
7. Need a list of keys, positions they are in, times they come up and the space each of them occupy
a. Its not unusual to have 1 ctrl key and one mac key etc.
b. Assume its given
8. Any other non-functional requirements?
a. Lag between a keystroke and the time the display is updated
b. Ergonomics that need to considered (curved, split keyboards)
c. What configurations of hardware should it support?
d. Do we need to provides pinheads on FJ?
9. What is the motive of this testing are we doing it in a factory or somewhere else?
a. This determines the level of automation required.
b. Do we test each and every keyboard or only a sampling of them.
10. Are we testing just hardware or hardware + software?
a. Eg. The work of the keyboard when shift+a is pressed is to send the corresponding signal
i. Software is free to interpret this according its specifications.

Sanity test case(Happy path)
1. Assuming a base case are ALL the keys being able to send appropriate signals to the software?
a. This should include the alphabet keys, the control keys (ALT,ctrl,page up, page down..), functional keys (F1-F12), special keys (win key, numlock,scrolllock etc.), arrow keys
2. All the composite keys able to send appropriate signals? (%,^ etc)
a. Pressing shift and composite keys
Functional testing
1. Divide the problem area into equivalence classes.
a. Eg. All the alphabet keys a-z, all numeric keys, special keys, media keys etc..
b. This reduces the number of test cases to be performed and provides us with confidence
2. Find the boundaries (might not make sense for this problem)
a. We need to find boundaries in terms of hardware signals and check there
b. The above equivalence classes might also need to reconsidered.
3. Combinatorial testing - Shift key is notorious for this - (but I think hardware need not be concerned with this, the software that interprets a key should consider these)
a. We need to create a subset of all valid and invalid combinations and check for the accepted output.
b. EG. Each of the shift key is working? Does it making capitals, getting right symbol from
c. Combinations of different keys (ctrl+shift+del, ctrl+alt+del)
4. What happens when a key is pressed 100 times consecutively 100000 times?

Structural testing (not possible unless we are looking at the hardware code)
Nonfunctional testing
1. Accessibility - how useful is the keyboard to a blind person or partially blind?
a. How about a person with a single hand or missing/dysfunctional fingers
b. Are children and are old people able to use it? How much pressure does a key require
c. Are the keys visible are clearly comprehendible? How about partially blind people?
2. Usability testing
a. Does using the keyboard cause pains? After how much usage?
b. Does the keyboard have a curved design (ergonomics)
c. Does the keyboard have a slanting feature (to raise it to a tilt)
3. Performance testing
a. Is the lag is the accepted range?
i. How about a fast typer?
ii. How about a gamer?
iii. How about an automated machine
b. Is the lag same for all classes keys? Composite keys or when in combinations?
c. The interval at which a key should count as a second stroke? (functional test)
4. Stress testing
a. How does the keyboard function in cases of short spurts of large volume of signals?
5. Volume testing
a. How does it behave in case of large volume of data
6. Compatibility testing
a. Does the keyboard support the configurations it supposed to support?
b. How about a very old computer?
c. Does it support a USB connection or PC2 connection or both? Does the connection change any of its other facets (performance, stress etc)
7. Durability-
a. After how much use the keys content fade away, is it acceptable?
b. If the keyboard falls, what height its okay to break?
c. How much weight it should be
8. Maintenance-
a. Is the keyboard cleanable
b. If there is a problem with it, can it be opened and closed by a technician?
c. Does it have identifying information so that a customer can request support for it?
9. Statutory
a. Does it have proper warnings (parts can be choke children etc?)
b. Does it adhere to standards?

there are people who are just not fit for testing and for that matter anything, that just type crap since they have a keyboard(xin hu) - test if the keyboard is working for them too.

- prolific.coder May 21, 2010 | Flag Reply
Comment hidden because of low score. Click to expand.
0
of 0 vote

could you suggest a few tests??

- neha June 20, 2009 | Flag Reply
Comment hidden because of low score. Click to expand.
0
of 0 vote

I found this on web..

First check the requirements of the keyboard

as we are familiar with keyboards

check the dimensions and design of the keyboard as requirements

next checks the total no. of keys and check whether all keys are present and present correctly in their specified positions

next check the display of the alphabet when the corresponding key is pressed

check the display of the data when different keys combinations are entered

- hmm September 03, 2009 | Flag Reply
Comment hidden because of low score. Click to expand.
0
of 0 vote

neha & hmm: you morons
guys just type this "

"the quick browning fox jumps over the lazy dog, THE QUICK BROWNING FOX JUMPS OVER THE LAZY DOG !@#$%^&*()1234567890-=_+{}[]\|,.<>/?

if that is what you see on your monitor your keyboard is working fine else its high time you get a new one.
You guys suck .
And this was asked by MS guys... OMG !!!

- xin hu October 08, 2009 | Flag Reply
Comment hidden because of low score. Click to expand.
0
of 0 votes

Moron

- god October 07, 2013 | Flag
Comment hidden because of low score. Click to expand.
0
of 0 votes

Awesome man

- Anonymous October 07, 2013 | Flag
Comment hidden because of low score. Click to expand.
0
of 0 vote

nice one prolific.coder...xin hu is an idiot

- Anonymous May 21, 2010 | Flag Reply


Add a Comment
Name:

Writing Code? Surround your code with {{{ and }}} to preserve whitespace.

Books

is a comprehensive book on getting a job at a top tech company, while focuses on dev interviews and does this for PMs.

Learn More

Videos

CareerCup's interview videos give you a real-life look at technical interviews. In these unscripted videos, watch how other candidates handle tough questions and how the interviewer thinks about their performance.

Learn More

Resume Review

Most engineers make critical mistakes on their resumes -- we can fix your resume with our custom resume review service. And, we use fellow engineers as our resume reviewers, so you can be sure that we "get" what you're saying.

Learn More

Mock Interviews

Our Mock Interviews will be conducted "in character" just like a real interview, and can focus on whatever topics you want. All our interviewers have worked for Microsoft, Google or Amazon, you know you'll get a true-to-life experience.

Learn More