Software Testing

Certified Software Testing Engineer (CSTE)

Software engineering is about teams. The problems to solve are so complex or large, that a single developer cannot solve them anymore. Software engineering is also about communication. Teams do not consist only of developers, but also of testers, architects, system engineers, customer, project managers, etc. Software projects can be so large that we have to do careful planning. Implementation is no longer just writing code, but it is also following guidelines, writing documentation and also writing unit tests. But unit tests alone are not enough. The different pieces have to fit together. And we have to be able to spot problematic areas using metrics. They tell us if our code follows certain standards. Once we are finished coding, that does not mean that we are finished with the project: for large projects maintaining software can keep many people busy for a long time. Since there are so many factors influencing the success or failure of a project, we also need to learn a little about project management and its pitfalls, but especially what makes projects successful. And last but not least, a good software engineer, like any engineer, needs tools, and you need to know about them. There are different methods of software testing. Static testing consists of examining or inspecting code, while dynamic testing refers to running the actual program. Static testing is generally less detailed, and is considered a verification process. Dynamic testing runs the software and has different methodologies, and is considered a validation process. Testing checks functionality, such as correctness, reliability and integrity. It also checks the engineering and the adaptability. Testing is generally done after the needs of the target audience have been identified and the coding is complete. Testing rarely identifies any and all bugs in software, but it can assess general performance, especially in comparison to similar products. Because software bugs can be very cost-inefficient and create major financial losses for companies, software testing is and will continue to be an important job in the field of computers. And because software is only becoming more and more complex, therefore making it more vulnerable to errors, testing will be an important part of this growth. As it gets more specialized, it will also require specific training and/or experience for testers to do their job well.

Software engineering is about teams. The problems to solve are so complex or large, that a single developer cannot solve them anymore. Software engineering is also about communication. Teams do not consist only of developers, but also of testers, architects, system engineers, customer, project managers, etc. Software projects can be so large that we have to do careful planning. Implementation is no longer just writing code, but it is also following guidelines, writing documentation and also writing unit tests. But unit tests alone are not enough. The different pieces have to fit together. And we have to be able to spot problematic areas using metrics. They tell us if our code follows certain standards. Once we are finished coding, that does not mean that we are finished with the project: for large projects maintaining software can keep many people busy for a long time. Since there are so many factors influencing the success or failure of a project, we also need to learn a little about project management and its pitfalls, but especially what makes projects successful. And last but not least, a good software engineer, like any engineer, needs tools, and you need to know about them.

There are different methods of software testing. Static testing consists of examining or inspecting code, while dynamic testing refers to running the actual program. Static testing is generally less detailed, and is considered a verification process. Dynamic testing runs the software and has different methodologies, and is considered a validation process. Testing checks functionality, such as correctness, reliability and integrity. It also checks the engineering and the adaptability.

Testing is generally done after the needs of the target audience have been identified and the coding is complete. Testing rarely identifies any and all bugs in software, but it can assess general performance, especially in comparison to similar products.

Because software bugs can be very cost-inefficient and create major financial losses for companies, software testing is and will continue to be an important job in the field of computers. And because software is only becoming more and more complex, therefore making it more vulnerable to errors, testing will be an important part of this growth. As it gets more specialized, it will also require specific training and/or experience for testers to do their job well.A

BACK CERTIFICATIONS BOOK