SOFTWARE TESTING
Scope:
A Software Test
Engineer is involved in the testing of software and is generally a member of
the software quality assurance team. Software QA Engineers may test software,
but are not always expert Test Engineers.
There are two main
types of testing, which are white box testing and black box testing. The
differences between the two are based on the assumptions and the view points
taken by the testers while performing the tests. White box testing assumes an
internal view of the software and black box testing basically assumes an
external view of the software.
Testing is done at
different phases of the software development life cycle (SDLC) and includes
unit testing, integration testing, functional testing, system testing,
acceptance testing (often performed by the internal or external client) and
regression testing (which is often automated).
There are different
level of Test Engineers. At an entry level, a testing engineer may set up and
document simple test cases. As they become more experienced, Software Test
Engineers may set up very complex test case scenarios, write test scripts and
perform white box.
Companies Hiring
Software Test Engineers:
Microsoft Corporation
Sun Microsystems
Cisco Systems
Oracle Corporation
Apple Computers
Google
Skills:
Education – Software Test Engineers
Software Testers do not
always have Computer Science degree.
Becoming a Software Test Engineer
Analytical thinking
skills are a key to becoming a successful Test Engineer. Communication and
documentation skills are also important. There are often internships and entry
level positions available in larger companies. Check out the entry level
job boards for the best leads.
References:
Challenges:
In our opinion, we encounter a challenge when our thought process and the thought process of an important stakeholder (e.g. the client, your management or your team) do not match. Here are some examples:
Challenges due to your client or management-
1. Your client or management thinks about testing as a cost which should be minimized. As is usual with cost approvals, you need to build a solid case for every piece of testing that you think would help.
2. Your client or management thinks about testing as a very predictable process. You are expected to prepare very detailed test plans (akin detailed project schedules) and explain every discrepancy between the planned and actual activities.
3. You receive little input on your planned tests. However, if bugs escape to the delivered application, you are grilled about your test plans.
4. There is limited or no budget for testing tools or support tools. You have to spend a lot of your valuable time to manually perform certain repetitive tasks.
5. The test environment is too restrictive (e.g. it is available only for limited times, it is also used by other teams or it is ridden with stability problems). You end up spending a lot of time waiting for the test environment to be available or need to check it constantly for problems.
Challenges due to your own abilities
1. You have been asked to use a tool that you know little about. Therefore, you face two problems. First, you need to learn the tool. Then, you need to find ways to effectively use the tool in your project.
2. You are expected to use a communication style that is different to your natural communication style. For example, if you prefer a verbal communication style, you have been asked to create detailed written reports in your project. Or, if you prefer to take time to carefully draft written reports, you are now expected to provide constant verbal updates.
Challenges due to your team-
1. You have been added to an established team and you are finding it hard to integrate and collaborate with the team quickly.
2. Your team members are less skilled in certain testing activities. Therefore, you find that the bulk of the required work has fallen in your lap.
3. Your team members are casual in their approach to testing. You now need to double check the completeness and accuracy of their work.
4. Your team is located afar and you lack instant updates from them.
Challenges due to another team or individual(s)-
1. Word is spread unofficially about your poor performance or the poor performance of your team. This discourages you.
2. Due to any reason, another team (e.g. the development team, the deployment team or the IT team) does not effectively collaborate with you or your team.
->Realizing a challenge and coming to terms with it takes time. It requires your long-term commitment to resolve a challenge. Then, you need to put in constant effort to either ease the challenge or resolve it partially or completely. The good thing about handling challenges is that they force you to solve a complex problem and you emerge even more confident than before. If nothing else, talking about a challenge and how you resolved it makes a great story. What is a big challenge that you have faced in your testing career so far?
Certification:
If you are exploring new career opportunities or want to stay
current in your field, certification programs can provide focused career
training and skill development for working professionals, and recent college
graduates. certification programs are designed to supplement degree education.
The Certified Software Tester Program (CST)
-is appropriate for individuals who want to enter the testing
field or seasoned Quality Assurance/Tester professionals seeking certification.
The program focuses on the concepts of essential testing principles that are
required to perform industry standard quality assurance practices.
The Certified Software Test Analyst Program (CSTA)
0 comments:
Post a Comment