Company Manual (View All)
- Introduction to CS428
- Company Layout
- Roles and Positions
Coder / TesterMany of the students in the class will function as coders and/or testers on individual teams, reporting to a team leader.
Philosophies vary concerning how to best organize programming and testing activities. One approach suggests a strict separation between testing and programming to maintain objectivity in the testing and to avoid the blind spots that inevitably arise when developers test their own code. Another approach advocates thorough unit testing performed by developers on their own code with a reduced role for formalized testing.
Bottom line for this company is that as directors, team leaders, coders and testers, you need to figure out the best way to organize the programming and testing effort this semester.
If anyone wants to play a strict quality assurance role as a tester, that's fine. Some individuals pursue careers in software testing, and this is a great way to gain some experience. If you want to organize a dedicated test team, that's also fine. If you want to integrate development and testing functions into the same teams, that's also a valid approach.
While we're fine with individuals testing but writing no production code, we are not fine with individuals only writing code and never testing. You've all had to code to become seniors in this program, but few of you have done more than a smattering of software testing in your time here. We'd like every coder to take a reasonable tour performing software testing responsibilities. Similarly, we want all class members to participate in at least one formal inspection during the semester.
In terms of stuff to test, obviously the code that gets developed this semester will need to be tested. But keep in mind that the code base from prior semesters is also fair game for quality assurance if you feel that would be productive. Please do your very best to leave a legacy of high quality software and accompanying test cases to future generations of this project.