Video of the day

Tuesday 3 April 2012

Filled Under:

SOFTWARE TESTING


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)

-is designed for individuals who want to build on their basic quality assurance knowledge. Anyone who is a Certified Software Tester qualifies for this advanced program. The program focuses on workplace processes and procedures that are related to structured and unstructured development settings. 


0 comments:

Post a Comment