Testing Educational Software in India 2014
Thanks to growth in technology, education has been creating positive global impacts and is bringing the world together. A lot more people are globally able to pursue higher education (such as masters programs) from reputed universities in the US through distant learning programs; children here in the US are able to take on e tutoring from teachers across the world; anytime / anywhere learning is now feasible through hosted educational software and mobile devices such as e readers.
Education has been one of the more stable industries during the last few years escaping the hands of recession. If you do a simple online search on "Education industry during recession" or "Unaffected industries during recession" you can see an interesting bunch of results that show up. If you really look at this more closely, we've all accepted that education is mandatory.
Now, to what level one wants to leverage education is really one's own call, but at least we would all agree that fundamental education is mandatory for every child. In addition to this, a lot of industries have mandated compliances and audit checks specific to their business, which calls for additional education on those specific areas – be it HIPAA compliance, 508 accessibility compliance, PCI compliance etc.
Also, a lot of skilled people have lost their jobs in the recent years. If the ones on the job need to sustain themselves, they need to really excel and prove themselves for which we have seen people take on a lot more certification courses than in the past. The ones who have lost their jobs now have more time and want to strengthen their skills through additional certifications, to stay competitive in the job market. All of these have resulted in a positive boost for the educational sector, helping it stay steady amidst these trying times.
Let's now look at what are the unique aspects of validating and verifying quality for educational software through software quality assurance. Understanding this is important to see why India is well positioned to test educational software. Like in any other software, certain elements such as functionality, UI are important to be verified for educational software as well. But what are different are:
Content verification - Content is important for any software to ensure correct use of language and the right messaging to appeal to the audience, content for learning software goes an extra mile; strong subject matter experts are needed to create the content, and unless it is correct, precise and effective in teaching the subject, the target cannot be reached well enough.
Learnability of content - Since the primary goal of educational software is to efficiently teach the subject to its target audience, QA & testing is the key to understand for how learnable the software is. Thinking through how the instructional design needs to be done, QA and testing for effectiveness of the story board are all required to ensure the software is designed to meet its goals
Usability & role based testing - Specific to educational applications, a lot of roles come into existence such as teacher, student, administrator, evaluator etc. State transition testing, along the sequence of expected and unexpected paths is more important for educational applications in comparison to others. Usability testing extends itself further in educational applications to verify the learnability of the content
Software performance testing – This is becoming more important for education in the recent years given how global & collaborative education has become. You can have a student take a course via a CD, another take the same course via a local download, another take the same course via a live streaming session, another take it via a hosted model etc. Similarly, at the backend, content may be received from several different sources such as digitized software, a teacher from a remote location ingesting his/her content, content being uploaded by a publishing house. With such variables involved in the mix, careful capacity planning is important and the software's load handling capabilities and scalability need to be thoroughly tested for.
Security – Security testing services for educational software is critical as tolerance for failure is very low, especially when it comes to online exams, results sharing etc. Think of a situation where a question paper or an answer key is accidentally shared with students, a student's answers get overwritten or are saved under another student's profile. This is not a case like a shopping transaction where an apology can be sent and another transaction can be initiated. So, security testing especially application vulnerability and database security testing are very important.
Compatibility testing more important than in other applications – Given how learners are these days empowered to take on offline/anywhere/anytime learning, the use of devices to take on such courses has come to the limelight. This calls for QA and testing of software on a wide yet optimized range of supported platforms and devices.
Integration testing is very important as often times content comes from various sources; when such cross collaboration happens, there is a good chance integration scenarios might not work seamlessly, unless adequately tested and verified for. For e.g. a student may have downloaded some questions from a web application, some questions off a memory drive, some questions from a friend on a social network etc. to consolidate the set of questions he / she wants to prepare for. Such cross sharing of information and consolidation is often going to be supported by learning applications to make the learning experience holistic.
In our next series we will cover the various aspects of Software Quality Assurance of Education Software and discuss more on India's edge in testing educational software.