Page 102 - SOFTWARE TESTING & QUALITY ASSURANCE
P. 102

Unit 7: Documentation and Security Testing



               If the documentation of the software is good, then it contributes to the product in the following ways:
                     (a)  It Improves the Software’s Usability: The documentation helps the user to know how the
                         software should be used. If it communicates the required information effectively, then the
                         user will be able to use the software easily without much difficulty.
                     (b)  It Improves the Software Reliability: When the user reads the documentation he/she will
                         come to know about the various features and applications the software has. The user will
                         read the documentation  and  judge the software functionalities based on the information
                         provided. Any errors  in the documentation will certainly result in poor reliability.
                         Therefore, it is very important to test the documentation against the software to find errors
                         in it.
                     (c)   It Decreases the Product Support Cost:  The cost incurred on the error  found by the
                         customer is 10 to 100 times more than the cost incurred to find the same error before it is
                         released to the market. If the documentation fails to communicate the information clearly to
                         the users, then the user will be confused and will face problems while using the software.
                         Moreover, the organization  which  has developed the  software  has to provide customer
                         support to resolve the problems that the customer is facing – which proves to be expensive.
                         Therefore, in order to overcome such problems, good documentation must be  provided
                         with the software product. This documentation helps the customers to easily understand
                         and use even the most difficult application or feature of the software.
               Documentation testing checks for the correctness of facts and figures mentioned in the documentation.
               Testing must make sure that all the instructional steps are explained clearly and effectively. The testing
               must also check whether or not the documentation meets all the requirements of the end user. Thus,
               documentation testing helps in finding errors in the documentation and helps in providing correct,
               accurate, and effective information to the users. It improves customer satisfaction
               7.2   Security Testing

                Security testing must not be confused with safety testing. The aspect of security deals with how well
               the software is protected from external elements such as hackers who make use of virus to affect the
               normal operation of the software.
                                  A type of computer viruses named resident virus such as Randex, CMJ, Meve,
                                  and MrKlunky attack the RAM memory of the system. From RAM, it affects the
                                  normal operation of the entire operating system. It will corrupt the files
                                  currently used by the operating system.
               A tester who is performing a software security test must apply risk based approach to find the bugs in
               the software architecture and design. The testers must have the mindset of an attacker (hacker) to find
               bugs related to software security. This requires identifying the risks that the software is prone to during
               an attack and creating test cases based on the risks identified. Such test cases will enable the tester to
               focus on a particular area of code where the possible attack can be successful.
                                  Banks use smart card technology to overcome fraud and  misuse of account
                                  holder’s freedom. These smart cards use the Crypto System to carryout
                                  transactions and verify the identities of the cardholder and the bank. The card
                                  holder information and account have to be very well protected, as  the
                                  transactions happen online and there is  always a possible risk of  the  system
                                  being hacked or a virus attack. If any such incident happens, the bank will lose
                                  valuable information and also its account holder’s money. Testing for possible
                                  risk in the software will help to overcome and stop any attack on the software
                                  and prevent theft of information.
               Software security testing tests the software behavior when the software is attacked by some external
               element. Sometimes, software failure occurs without any external interference. This may occur due to
               weak design or coding. Therefore, software security aims to protect the software from any such failures.
               Any software designed with poor logic is prone to external attack from hackers.






                                        LOVELY PROFESSIONAL UNIVERSITY                           95
   97   98   99   100   101   102   103   104   105   106   107