The term “corporate social responsibility” (CSR) is becoming very common in the software industry, with many IT companies trying to implement it through varied programs of different scales. Wikipedia defines CSR as “a process with the aim to embrace responsibility for the company's actions and encourage a positive impact through its activities on the environment, consumers, employees, communities, stakeholders, and all other members of the public sphere who may also be considered as stakeholders.” What follows is an approach to promoting an organization’s CSR that is mutually enriching for software testing organizations and the academic institutions that they associate themselves with. We’ll look at how schools can inculcate software testing and what organizations can do in their CSR programs to promote testing-focused learning in schools.
Software testing as a career provides lucrative job opportunities and has become increasingly popular over the past decade. Various institutes and schools offer training courses to develop a potential candidate’s skills for this discipline. However, there are many innovative ways in which schools can provide such an experience to students even at a very early age—long before students start planning for their careers. Whether or not the students eventually become software testers, this exposure will build core traits—e.g., analytical and problem solving skills, critical thinking, curiosity about how things work, and knowledge of how to break things with a goal toward building a product of great quality—that will come in handy for all disciplines.
Let’s look at some specific projects that schools can use to help students develop these attributes. These will be fun exercises for students and a change from their usual classwork, tutor sessions, etc. And, when planned well and made relevant to students’ other studies, they will also be an effective learning experience. Companies that focus on software testing can work with schools to build programs that implement these projects and to help them monitor how students are faring and which ones show more promise to grow into the software-testing discipline.
1. Peer Grading
Teachers can ask students to grade fellow students’ papers anonymously. This could be for any subject, including areas like math where grading tends to be very objective. In such an exercise, students are able to see other practical solutions to a problem, find areas in which the students whom they are grading could have done better, and strengthen their evaluation and critical-thinking skills. This does not replace the teacher’s evaluating and grading the students’ work, but it is an interim step that may help the student evaluator to build on some testing skills.
Once a month or so, students can be given the exercise of revisiting their exam papers to identify areas where they could have done better. This promotes a similar set of skills as defined in point 1 above.
3. Bug Bashes
Once a quarter, a bug bash can be arranged for a product that is of relevance to the students. For example, a teacher might ask a math class to search for bugs in a math software application or gadget that the students use often. These bugs could be functional, user interface, performance, security, or usability issues. Students could even recommend suggestions for improving the software. Not only are these bug bashes fun for the students, but also such feedback is invaluable to product companies who may incorporate it in future product releases.
4. Pilot Feedback
If the school is planning to launch a school-wide initiative, the school could select a set of students to test the project and provide feedback. For example, if a school were to adopt new technology, such as tablets, then testing and feedback during a pilot run would be imperative before a school-wide launch.
5. Partnering with Content Providers
Schools could partner with content providers and publishing companies for proofreading exercises. Companies get their content validated with real end-user feedback, and students learn or refresh their knowledge of subjects carefully chosen to be in line with the curriculum for a given grade.
Depending on the product, these could be simple take-home assignments, exercises set up at school for a few students to try together as a group (especially when specific software installation is required), or exercises done in a usability lab at the product company’s premises (especially when certain software dependencies make it difficult to hold the testing exercise at an external location). A side benefit here is the great team spirit fostered amongst students.
In summer internships or camps lasting a week to ten days, the school can partner with software product companies, content providers, and publishing houses to provide field testers to test products and provide feedback. This also might be a good way for students to make some money in the summer and use their time productively.
While these projects may add overhead, they also benefit students, schools, and companies in the following ways. Students become more creative, motivated, and challenged to try things out of the ordinary. They are able to better understand their lessons and begin to appreciate the content more, promoting a holistic learning experience. These exercises potentially help them earn small but well deserved income at a young age and also pave a path for their future careers.
Schools build a positive ecosystem with motivated and empowered students and teachers. These programs outside the core curriculum also helps build the school’s reputation in town, amongst parents, and even amongst other competing schools. And, they pioneer the adoption of new technology, giving schools a leading edge in education. The schools are able to contribute back to the community by helping to build products of great quality through partnerships with companies.
Finally, these programs also go a long way in helping companies get valuable product and content feedback at a much lower cost compared to hiring additional testers. More importantly, the companies are able to work toward their CSR missions in a fun and creative way, helping to build great software testers for the industry down the line.