Testing Software participates from the building stage of a software project. Our company has computer science professionals who are expert in software development projects and who have become actively involved during the construction of several software products, specializing in software testing activities.
Software development involves a knowledge frameset such as: (i) development environment and practices, (ii) organizational aspect of work team and (iii) tools. Testing has its own equivalent environment and toolset: Test Director, Quality Center, Selenium, Web Driver, Bugzilla, Mercury, Visual Studio Test Professional and Grinder, to name a few.
How are tests of stress, robustness, security or load developed? If you need to automate, it should be asked: based on what percentage and for what scenarios? Testing Software’s expertise resides in executing the tester profile following the accepted patterns for usual practices in leading companies, and making use of methodologies acknowledged worldwide.
In general, software development is managed as a project and currently is based upon some development methodology that uses the metaphor of software construction (The metaphor of software construction not only pretends to make the correct product, but make it correctly).
Depending on the methodology, a specific number of players or persons with different profiles and responsibilities are involved in the project. Even though companies allow adaptations, three profiles of people working on a software project are usually distinguished: administrators, developers and testers.
Usually, administrators defend the objectives established by the interested party. They are the project owners in terms of budget or functionality: a project usually has a “PM” (Project Manager). Also, the roles of developer and tester are fundamental because, no matter what methodology is used, those profiles always exist, and their activities are incompatible, so they cannot be assigned to the same engineer. For example, in Microsoft Solutions Framework (MSF) the developer only develops and never is in charge of testing, while in agile methodologies as SCRUM, the developer performs unit tests to demonstrate that he or she knows the requirements, but such tests never reach the level of formal testing.