Tips
Tips
http://www.jrothman.com/weblog/htpblogger.html
http://www.asktheheadhunter.com (About general job/employment related tips and case
studies)
These are very common and most talked about interview tips but people fail to give
importance to it. It is like everybody knows that doing physical exercises is good for health
and a very few follow it.
Shrini
posted Monday, March 07, 2005 7:50 AM by shrinik | 1 Comments
Filed Under: General
Lot has been written, discussed about topic. Time and again, when this question is raised, people
typically answer in one or other variant of following ....
1. To help project team to access the risk and plan test to access the risk.
Whatever test does should be aligned towards this goal. Developers having a job in hand of
constructing our of stated (and implicit requirements) - tend to loose sight on or get busy in
development. Test will help dev to in those "overlooked" things - like all possible uses and abuses,
Non functional requirements like - usability, security, Performance etc. This is collaborative work.
Let us not fight - collaborate.
There are many approaches to software testing, but effective testing of complex products
is essentially a process of investigation, not merely a matter of creating and following
rote procedure. One definition of software testing is "the process of questioning a product
in order to evaluate it," where the "questions" are things the software tester tries to do
with the product, and the product answers with its behavior in reaction to the probing of
the software tester. Hopefully this will help your search into software testing.
Q: What is verification?
A: Verification ensures the product is designed to deliver all functionality to the customer; it
typically involves reviews and meetings to evaluate documents, plans, code, requirements and
specifications; this can be done with checklists, issues lists, walk-throughs and inspection
meetings. You CAN learn to do verification, with little or no outside help. Get CAN get free
information. Click on a link!
Q: What is validation?
A: Validation ensures that functionality, as defined in requirements, is the intended behavior of the
product; validation typically involves actual testing and takes place after verifications are
completed.
Q: What is a walk-through?
A: A walk-through is an informal meeting for evaluation or informational purposes. A walk-through
is also a process at an abstract level. It's the process of inspecting software code by following
paths through the code (as determined by input conditions and choices made along the way). The
purpose of code walk-throughs is to ensure the code fits the purpose.
Walk-throughs also offer opportunities to assess an individual's or team's competency.
Q: What is an inspection?
A: An inspection is a formal meeting, more formalized than a walk-through and typically consists
of 3-10 people including a moderator, reader (the author of whatever is being reviewed) and a
recorder (to make notes in the document). The subject of the inspection is typically a document,
such as a requirements document or a test plan. The purpose of an inspection is to find problems
and see what is missing, not to fix anything. The result of the meeting should be documented in a
written report. Attendees should prepare for this type of meeting by reading through the
document, before the meeting starts; most problems are found during this preparation.
Preparation for inspections is difficult, but is one of the most cost-effective methods of ensuring
quality, since bug prevention is more cost effective than bug detection.
Q: What is quality?
A: Quality software is software that is reasonably bug-free, delivered on time and within budget,
meets requirements and expectations and is maintainable. However, quality is a subjective term.
Quality depends on who the customer is and their overall influence in the scheme of things.
Customers of a software development project include end-users, customer acceptance test
engineers, testers, customer contract officers, customer management, the development
organization's management, test engineers, testers, salespeople, software engineers,
stockholders and accountants. Each type of customer will have his or her own slant on quality.
The accounting department might define quality in terms of profits, while an end-user might define
quality as user friendly and bug free.
• Software complexity. All of the followings contribute to the exponential growth in software
and system complexity: Windows interfaces, client-server and distributed applications,
data communications, enormous relational databases and the sheer size of applications.
• Programming errors occur because programmers and software engineers, like everyone
else, can make mistakes.
2. The schedule is unrealistic if too much work is crammed in too little time.
3. Software testing is inadequate if none knows whether or not the software is any good
until customers complain or the system crashes.
4. It's extremely common that new features are added after development is underway.
5. Miscommunication either means the developers don't know what is needed, or customers
have unrealistic expectations and therefore problems are guaranteed.
For larger projects, or ongoing long-term projects, they can be valuable. But for small projects,
the time needed to learn and implement them is usually not worthwhile.
A common type of automated tool is the record/playback type. For example, a test engineer clicks
through all combinations of menu choices, dialog box choices, buttons, etc. in a GUI and has an
automated testing tool record and log the results. The recording is typically in the form of text,
based on a scripting language that the testing tool can interpret.
If a change is made (e.g. new buttons are added, or some underlying code in the application is
changed), the application is then re-tested by just playing back the recorded actions and
compared to the logged results in order to check effects of the change.
One problem with such tools is that if there are continual changes to the product being tested, the
recordings have to be changed so often that it becomes a very time-consuming task to
continuously update the scripts.
Another problem with such tools is the interpretation of the results (screens, data, logs, etc.) that
can be a time-consuming task.
You CAN learn to use automated testing tools, with little or no outside help. Get CAN get free
information. Click on a link!
Q: Give me five solutions to problems that occur during software
development.
A: Solid requirements, realistic schedules, adequate testing, firm requirements and good
communication.
1. Ensure the requirements are solid, clear, complete, detailed, cohesive, attainable and testable.
All players should agree to requirements. Use prototypes to help nail down requirements.
2. Have schedules that are realistic. Allow adequate time for planning, design, testing, bug fixing,
re-testing, changes and documentation. Personnel should be able to complete the project without
burning out.
3. Do testing that is adequate. Start testing early on, re-test after fixes or changes, and plan for
sufficient time for both testing and bug fixing.
4. Avoid new features. Stick to initial requirements as much as possible. Be prepared to defend
design against changes and additions, once development has begun and be prepared to explain
consequences. If changes are necessary, ensure they're adequately reflected in related schedule
changes. Use prototypes early on so customers' expectations are clarified and customers can
see what to expect; this will minimize changes later on.
: Give me five solutions to problems that occur during software
development. (Cont'd...)
5. Communicate. Require walkthroughs and inspections when appropriate; make extensive use
of e-mail, networked bug-tracking tools, tools of change management. Ensure documentation is
available and up-to-date. Do use documentation that is electronic, not paper. Promote teamwork
and cooperation.
Rob Davis is a good test engineer because he has a "test to break" attitude, takes the point of
view of the customer, has a strong desire for quality, has an attention to detail, He's also tactful
and diplomatic and has good a communication skill, both oral and written. And he has previous
software development experience, too.
Q: What makes a good resume?
A: On the subject of resumes, there seems to be an unending discussion of whether you should
or shouldn't have a one-page resume. The followings are some of the comments I have
personally heard:
"Well, Joe Blow (car salesman) said I should have a one-page resume."
"Well, I read a book and it said you should have a one page resume."
"I can't really go into what I really did because if I did, it'd take more than one page on my
resume."
"Gosh, I wish I could put my job at IBM on my resume but if I did it'd make my resume more than
one page, and I was told to never make the resume more than one page long."
"I'm confused, should my resume be more than one page? I feel like it should, but I don't want to
break the rules."
Or, here's another comment, "People just don't read resumes that are longer than one page." I
have heard some more, but we can start with these.
So what's the answer? There is no scientific answer about whether a one-page resume is right or
wrong. It all depends on who you are and how much experience you have.
The first thing to look at here is the purpose of a resume. The purpose of a resume is to get you
an interview. If the resume is getting you interviews, then it is considered to be a good resume. If
the resume isn't getting you interviews, then you should change it.
Q: What makes a good resume? (Cont'd...)
The biggest mistake you can make on your resume is to make it hard to read. Why? Because,
for...
One, scanners don't like odd resumes. Small fonts can make your resume harder to read. Some
candidates use a 7-point font so they can get the resume onto one page. Big mistake.
Two, resume readers do not like eye strain either. If the resume is mechanically challenging, they
just throw it aside for one that is easier on the eyes.
Three, there are lots of resumes out there these days, and that is also part of the problem.
Four, in light of the current scanning scenario, more than one page is not a deterrent because
many will scan your resume into their database. Once the resume is in there and searchable, you
have accomplished one of the goals of resume distribution.
Five, resume readers don't like to guess and most won't call you to clarify what is on your
resume.
Generally speaking, your resume should tell your story. If you're a college graduate looking for
your first job, a one-page resume is just fine. If you have a longer story, the resume needs to be
longer. Please put your experience on the resume so resume readers can tell when and for whom
you did what.
Short resumes -- for people long on experience -- are not appropriate. The real audience for
these short resumes is people with short attention spans and low IQs. I assure you that when
your resume gets into the right hands, it will be read thoroughly.
Q: What makes a good QA engineer?
A: The same qualities a good test engineer has are useful for a QA engineer. Additionally, Rob
Davis understands the entire software development process and how it fits into the business
approach and the goals of the organization. Rob Davis' communication skills and the ability to
understand various sides of issues are important. Good QA engineers understand the entire
software development process and how it fits into the business approach and the goals of the
organization. Communication skills and the ability to understand various sides of issues are
important.
Please note, the process of developing test cases can help find problems in the requirements or
design of an application, since it requires you to completely think through the operation of the
application. For this reason, it is useful to prepare test cases early in the development cycle, if
possible.
Q: What should be done after a bug is found?
A: When a bug is found, it needs to be communicated and assigned to developers that can fix it.
After the problem is resolved, fixes should be re-tested. Additionally, determinations should be
made regarding requirements, software, hardware, safety impact, etc., for regression testing to
check the fixes didn't create other problems elsewhere. If a problem-tracking system is in place, it
should encapsulate these determinations. A variety of commercial, problem-tracking/management
software tools are available. These tools, with the detailed input of software test engineers, will
give the team complete information so developers can understand the bug, get an idea of its
severity, reproduce it and fix it.
Since this type of problem can severely affect schedules and indicates deeper problems in the
software development process, such as insufficient unit testing, insufficient integration testing,
poor design, improper build or release procedures, managers should be notified and provided
with some documentation as evidence of the problem.
Use risk analysis to determine where testing should be focused. This requires judgment skills,
common sense and experience. The checklist should include answers to the following questions:
• Ensure the code is well commented and well documented; this makes changes easier for
the developers.
• Use rapid prototyping whenever possible; this will help customers feel sure of their
requirements and minimize changes.
• In the project's initial schedule, allow for some extra time to commensurate with probable
changes.