International Journal of Software Engineering and Its Applications Vol. 10, No. 7 (2016), pp. 101-118 http://dx.doi.org/10.14257/ijseia.2016.10.7.10
Testing Desktop Application: Police Station Information Management System Abdul Salam Shah1*, Muhammad Fayaz2, Asadullah Shah3 and Shahnawaz Shah4 1
SZABIST, Islamabad, Pakistan University of Malakand, KPK, Pakistan 3 International Islamic University Malaysia (IIUM), Kuala Lumpur, Malaysia 4 University of Sindh, Jamshoro, Pakistan 1*
[email protected],
[email protected], 3
[email protected],
[email protected] 2
Abstract The police stations have adequate importance in the society to control the law and order situations of the country. In Pakistan, police stations manage criminal records and information manually. We have previously developed and improved a desktop application for the record keeping of the different registers of the police stations. The data of police stations is sensitive and that need to be handled within secured and fully functional software to avoid any unauthorized access. For the proper utilization of the newly developed software, it is necessary to test and analyze the system before deployment into the real environment. In this paper, we have performed the testing of an application. For this purpose, we have used Ranorex, automated testing tool for the functional and performance testing, and reported the results of test cases as pass or fail. Keywords: Automated Testing, Crime, Functional Testing, Police, Performance Testing, Police Stations, Record Management, Ranorex, Test Cases
1. Introduction The software developed for the Police Stations of Pakistan needs a proper assessment of its functionalities. The developed application (software) will store data in an organized form and searching of records will be easier as compared to the manual system. It also enhances the efficiency of the Police without extra efforts required for record keeping and accessing [1]. The improvement in the software quality is totally dependent on the level of understanding of what the software is performing and how it is performing the tasks? The better analysis and understanding of the development process of software plays and important role in both; the scientific and practice area of software engineering [2]. The assessments can be classified into developer oriented, carried by developer and customer oriented carried by the customer or third party [3-4]. Another dominant areas of research in the software assessment are how to combine the metrics to get the higher level of assessment value for the software and its processes? [5]. The analysis tools take less time and cost, but they are not fully reliable, the expert based assessment takes place manually and that takes too much time and higher cost. The professionalism and expertise level of the experts are the key factors for the success of analysis [2]. The availability of developer at the time of customer oriented assessment makes the assessment easier because the developer understands the software better and can perform more analytical evaluations [6-7]. However, the availability of developer during assessment has disadvantages. Often, the developer might not want to tell the flaws of software to others due to his reputation [2]. *
Corresponding Author
ISSN: 1738-9984 IJSEIA Copyright ⓒ 2016 SERSC
International Journal of Software Engineering and Its Applications Vol. 10, No. 7 (2016)
The comparison of developer and customer oriented assessment is not easier in terms of the difficulty. The assessment is also dependent upon the expertise of the people and the level of the complexity of assessment [2, 8]. In human based assessment, there is also subjectivity factor that needs to be minimized. The assessment from the developer has some factor of bias too, but the assessment from the third party is free from the personal bias. The personal assessment is important and cannot be neglected because the software is also developed by human developers, not the machines or software and the humans can better analyze it than others. Even some automated tools require personal attention and analysis of every step to improve and maintain the quality of the software, so we cannot totally rely upon the software assessment tools [2, 9]. The data of police is quite sensitive, so the developed application needs to be tested properly, and before the deployment, it needs to pass almost 90% of the tests in order to ensure reliability, security and functionality of the application. The critical components of the application must be tested against as much as possible test cases. The test cases can be from installation, login, and layout to complex functioning of the system like crime register and its search options but here it will not be possible to perform the exhaustive testing because it takes extra time [8-9]. In this study, we have performed the testing of important functionalities of developed software for the police department which is not yet tested for the implementation in the police stations [1]. The manual testing of the system takes time and extra effort to avoid that we have used Ranorex which is an automated testing tool, further we have also used manual testing wherever required. The remaining paper is: in Section 2 literature review is presented, Section 3 discusses some challenges, Section 4 Methodology, Section 5 Testing Tools Used, Section 6 testing environment, Section 7 coding, Section 8 Verification and Validation Process, and finally in Section 9 the conclusion of the study is provided.
2. Literature Review Remencius et. al., in [2], have performed the assessment for Italian public administrative applications and reported in the form of case study. The Italy administration has provided software for the assessment in terms of security, quality and performance. They have more concern to ensure that software is protected from unauthorized access and only the authorized users can access their system data and the system can handle 2000 clients at a time. The different components of software have to be deployed on more than one servers and also two different databases i. e., Oracle and MySQL. The software has been developed in Java. The assessment of the system was carried out in the six parts and in agile like fashion; with feedbacks about the assessment from the administration and ensuring that everything is according to their needs. The assessment of the structure of code was performed in code metrics, which were calculated with the static code analysis tool. The analysis was carried out by experts of Java and JavaScript and the configuration of the system was also analyzed [10-11]. Some automated assessment tools has been used, but the results were not reliable, that’s why authors have used manual assessment. The expert’s opinions were used, at the end, no serious issues were identified with the spring framework code. In the case of ambiguities, the guesses were used and as well as experts opinions. The assessment from the client side has been easier because of the best practice guide from IBM. The major part of the analysis of Dojo Toolkit was also manual and performed by the experts. The system has some issue with the speed; it performed slower with the older versions of the internet explorer. The reason of slower speed can be the code or other external or internal factors. The system has been tested against Mozilla, Chrome, and Internet Explorer. To test performance of the system as per requirement of
102
Copyright ⓒ 2016 SERSC
International Journal of Software Engineering and Its Applications Vol. 10, No. 7 (2016)
the administration as 2000 users live at the same time, Apache J-Meter has been used [12]. Multiple distributed machines have been used for the testing, some performance issues have been identified during stress testing. The experts have done assessment manually, first, the detailed inspection of code has been carried out to detect the configuration and design issues. Then, security exposures have been identified by sending some unauthorized requests of data modification and introducing malicious activities with the help of Apache J-Meter. Sarigiannidis, et. al., in [13], have carried out a study on software development projects for the investigation of the relationship between people quality, process quality, and risk. The structural modeling techniques were used to analyze the empirical data. The people quality has a negative impact on the project risk level as concluded from the main results of the study. On the other side, the process quality has slightly limited effects, the only risk due to the project team. The software’s success depends on its quality, effectiveness, and completeness. The management of the software development projects is quite difficult besides the issue of the quality of the software, the software's incorporate complex characteristic, the same are not associated with other projects of different fields of study. The software has risk associated like budget overrun, delays in the projects, weakness to respond the requirements of the users [14]. The study has been carried on the 220 different Greek software related companies that are developing different projects in the country. The participating companies had to choose the project under development at that time, also the other important requirement that they have to tell about the human resource involved in that project. The process quality and people quality were used to measure the total project quality. The research depends on different kind of data collected from different nature of projects teams having different characteristics, which covered several perspectives of people with dissimilar levels of responsibilities in the development process. Among the all factors the software requirements have the highest exposure to risk and the organizational environment at the lowest level. These findings of the study suggest that the proper training of staff and communication with their personnel and proper staffing according to the skills of staff must be ensured in the software companies of Greek. Zhi et. al., in [15] have summarized the published literature of software documentation cost, benefit, and quality. The literature has been selected by systematic mapping technology. The investigation of the document like requirement, design, implementation and test, in addition, the code comments were carried out. The time that has been consumed during software development and the effort of the software development team are referred here as the cost of the project. The major cost driver during the software development process is the efforts consumed in documentation. The artifact which is developed requires enough amount of cost in terms of time and other facts, the same artifact should be used for the development and maintenance phase otherwise the cost spent on it will be useless and is a huge loss. The benefits of an artifact can be mentioned in terms of reduction in the duration of the task, improvement in the quality of code, increase the productivity, but not limited to these can be of any type of improvements related to software development. They have targeted on the documents of development phase in terms of cost, benefit and quality. The study has focused on the development documentation. The documents about the software structure known as architecture documentation, are considered as the type of design, which define that how the system will be built and the other technical details about the software. The total number of 69 papers in the relevant field has been selected. The relationship model was derived between the entities during the documentation process for the analysis of cost or benefit of documentation. The development and maintenance tasks are performed by the practitioner, the tasks consume a particular amount of effort that can be measured in units that can be considered as an attribute of the task. The task is further
Copyright ⓒ 2016 SERSC
103
International Journal of Software Engineering and Its Applications Vol. 10, No. 7 (2016)
divided into pre-maintenance and maintenance tasks. The maintenance tasks can be further divided into corrective, perfective, adaptive and preventive maintenance tasks. Each maintenance task is further divided into two steps as comprehension of the program and subsequent manipulation of modification. The typical document management system of infrastructure to access software documents is mostly utilized by software practitioner for easiness of the management of the documents. It is understood that the wellstructured documents are easier to read as compared to the unstructured and fuzzy documents, that why the documents structure has the direct impact on the quality of the document. The papers, authors have considered objects, related to the software systems and other human-related subjects.
3. What are the Challenges? The developed application will be installed on the Microsoft windows based systems because most of the police stations in Pakistan use Microsoft windows and the system is developed keeping in view of the current scenario of the police stations to avoid extra expenses of buying new computers. The windows vary from windows XP, windows 7, windows 8 to windows 10 that causes the testing difficult further the manual testing takes a lot of effort and time the same needs to be automated. The automation is not easier due to the diverse functionalities of the system but much functionality can be automated. The problems of installation and graphical appearance may vary from windows to windows. Further, the windows can be 32 bit to 64 bit. The testing execution can be a great challenge on various platforms due to limited resources.
4. Methodology The test automation activities can be best summarized in the Figure 1 which is basically taken from the web [16].
Figure 1. Flow of Automated Testing Activities Here we have tried to follow the guidelines of the above steps of the Figure 1, the proposed methodology of the paper can be described as: 1. 2. 3.
104
Prioritizing Test Cases Dividing Test Cases into Different Categories Selection of Testing Tool and Testing Environment
Copyright ⓒ 2016 SERSC
International Journal of Software Engineering and Its Applications Vol. 10, No. 7 (2016)
4. 5.
Coding and Simulation Perform the Validation and Verification
4.1. Prioritizing Test Cases The developed software for police station supports these main functionalities:
Forms having different text fields. Sub-windows. Interaction of application with database. Search functionality with different criteria and display results.
The standard test scenarios for a desktop application has been tried as per functionality of the application, the checklist is taken from the [17-18], as per requirement and functionality of the developed application. 4.2. General Test Scenarios
The mandatory fields must be validated and denoted by an asterisk ‘*’ symbol. The validation errors must be displayed at the correct position via a message. The first entry of drop-down fields must be blank or ‘Select’. The application must ask for confirmation before deleting any record. All field must be set to default values on the click of the reset button. The maximum field values for input fields must be checked. The values crossing maximum limit must generate a warning message and the database should not store these values. Ensure all input fields for the special characters. Standard style for field labels should be ensured. The forms must be spell checked for grammatical mistakes. The functionality of buttons on all forms must be checked. The double submission of the form must be restricted.
4.3. Graphical User Interface (GUI) and Usability Test Scenarios
The fields of forms must be well aligned. The scroll bar must be enabled when required. The style, size, and color of fonts used in the forms must be standard. The fields which are disabled must be grayed and click option disabled. The mouse pointer must change to the cursor when to click on the text field. The user must not be able to manually type any text into the drop down lists. In the case of form submission error, the filled information must remain intact. After corrections, the user must be able to submit the form again. The values of the dropdown field must be in sorted order. In the case of error, the correct form fields must be highlighted. The confirmation message for update or delete should be displayed. Only one radio option should be selected and multiple check boxes. For the invalid values of filter criteria, proper messages should be displayed.
4.4. Test Scenarios for Result Grid
The resulting grid should display the parameters which are searched. The grid must display the number of results retrieved. The criteria of search during searching must be displayed on result grid. The specified columns with correct values must be included by result grids.
Copyright ⓒ 2016 SERSC
105
International Journal of Software Engineering and Its Applications Vol. 10, No. 7 (2016)
The column and rows of result grid must be displayed with proper spacing. The resulting grid should exclude the duplicate records. The data of dynamic columns must be checked.
4.5. Test Scenarios for a Window
The default size of the window must be checked. The child windows must be checked for getting closed on the close of a parent window. When the child window is open, the user cannot use the parent window. Minimize, maximize and close functionality of windows must be checked. The re-size ability of windows must be checked. The scroll bar functionality, of the window, must be checked. The cancel functionality of child windows must be checked.
4.6. Database Testing Test Scenarios
The data must be cross checked that either database is saving it correctly or not. The columns which are not accepting null values must be checked. The integrity of data must be checked. The primary key column of tables must be checked. The log of every operation must be maintained. The indexes should be added for tables of the database. The data should be committed to the database in case of successful operation only. Ensure that the database is saving radio button and dropdown lists properly. Check the data type and data length of database fields. Check that Primary key, foreign key of tables are applied correctly. Check that Primary key column should not be Null.
5. Testing Tool Used The Ranorex is a product by GmbH for test automation that has the functionality of the testing desktop, web-based and mobile applications. The Ranorex uses the programming languages such as C# and VB.NET as a base and it does not have any self-scripting language. The code completion, debugging and testing of the project has been made possible with Ranorex Studio. The user can carry test automation in a specific environment as per requirement. The Ranorex supports acceptance testing, test automation, functional testing, black box testing, GUI testing, mobile application testing, web testing, regression testing, Java testing, data-driven testing, keyword-driven testing and cross-platform testing source [19-21].
6. Testing Environment The testing was carried out with the following software, hardware specification and other additional resources. Processor: i3-2310M CPU @ 2.10 Ghz RAM: 8.00 GB System Type: 64bit Operating System: Windows 10 Professional Development Environment: VB.NET 2010 Automated Testing Tool: Ranorex
106
Copyright ⓒ 2016 SERSC
International Journal of Software Engineering and Its Applications Vol. 10, No. 7 (2016)
7. Coding The coding of some important test is provided here like the username and password validation, search module and add entry module. The authors have not contributed in terms of coding the same has been taken from [22].
7.1. Username and Password Validation: Namespace Police Station Project Public Partial Class Login Private Sub Init () End Sub Public Sub Click On Password Field () Report. Log (Report Level. Info, "Mouse", " Mouse Left Click item’ Login Form. Tab_Page_List. Input_Fields. Text_Password’ at 175;9. ", Repo. Login Form. Tab_Page_List. Input_Fields. Text_Password_Info ) Repo. Login Form. Tab_Page_List. Input_Fields. Text_Password. Click (" 175;9 ") End Sub End Class End Namespace Public Sub Login Form ( a Title As String , a Username As String , a Password As String ) Repo. Login Form. Title. TextValue = aTitle Repo. Login Form. Username. TextValue = aUsername Repo. Login Form. Password. TextValue = aPassword Repo. Login Form. Repeat Password. TextValue = aPassword End Sub
7.2. Search Module: Public Sub ValidateTextValue (repository item As Ranorex. Adapter, val As String) Keyboard. Press ( repository item, val) Validate. Are Equal (repository item. [ As ](of Ranorex . Text) (). TextValue , val ) Report. Screenshot ( repository item, True ) End Sub Const NullString As String = "( null )" Public Sub Validate_Database Field (OLEConnectionString As String, SQLQuery As String, expectedValue As String, customLogMessage As String ) If OLE Connection String. Trim (). Equals (String. Empty) Or Else OLE Connection String. Trim (). Equals (NullString) Then Throw New Ranorex. RanorexException ("Connection String is empty") End If If SQLQuery. Trim (). Equals (String. Empty) Then Throw New Ranorex. RanorexException ("SQLQuery is empty") End If As New OleDbConnection (OLE Connection String) connection. Open () Dim command As OleDbCommand = Nothing Dim SQLReader As OleDbDataReader = Nothing Try command = New OleDbCommand (SQLQuery, connection) SQLReader = command. ExecuteReader () SQLReader. Read () If SQLReader . FieldCount > 0 Then Dim actualValue = SQLReader. GetString (0) If customLogMessage . Trim () . Equals ( String. Empty ) Then
Copyright ⓒ 2016 SERSC
107
International Journal of Software Engineering and Its Applications Vol. 10, No. 7 (2016)
customLogMessage = " Actual value = ’{0} ’ , expected value = ’{1} ’ ( database query = " & SQLQuery & ") " End If Ranorex. Validate. AreEqual (actualValue , expectedValue , customLogMessage ) Else Throw New Ranorex . RanorexException (String . Format ("SQL statement did not return any results : {0} ", SQLQuery )) End If Finally command. Dispose () SQLReader. Dispose () End Try End Using End Sub
8. Verification and Validation Process Requirements for RE-001: There should be a login screen for the Police Official/Officer through which he can login to the system and can use it for inserting/deleting/updating record. 1. A login screen should contain a form for Sign In and a link for new user to register. The password reset option should not be there. 2. A Login button and Exit Button should be placed at the right side on the screen below the form fields. 3. The login name for the customer should be email address registered during account creation or username the administrator assigned him. 4. The password length must be eight characters long in which at least two digits and one special symbol are mandatory. Password cannot be all the digits and also the username or email address of the person. The functionality of stay login should not be implemented and system will automatically request for password if system not used for 15 minutes. Verification for RE-001: There should be a login screen for user through which he can login to the system and view/update/delete data. The login Screen should have two options i.e., one for Sign In whiles other for Sign Up. A Login button and Sign Up button and Exit button should be place on the right place on the screen below the form fields. The login name for the customer should be email address or CNIC No registered during account creation. The password length must be eight characters long in which two digits and one special symbol are mandatory. On login screen there should be an option to change password. The functionality of stay login should not be implemented. All Function buttons must be located on left side of Login form. Table1. Requirement Checklist of RE-001 No 1 2 3 4
108
Requirements Login & Sign Up Buttons Function Buttons Stay Login Reset Password
Status X
Copyright ⓒ 2016 SERSC
International Journal of Software Engineering and Its Applications Vol. 10, No. 7 (2016)
Validation of RE-001: For the validation of RE-001 we have performed testing. For a given scenario we have executed Five test cases among them two are valid and three un-valid. All test cases were carried out on Login Form only. Table 3. Test Case T-1-1 Test Case ID Test Case Title Module Name Priority Pre-Conditions Dependencies Steps 1. Launch the application. 2. Navigate to the login page. 3. Provide valid Email. 4. Provide valid password. 5. Click on login button. Post-Condition Suggestion
T-1-1 QA Engineer Designed By Login with valid user Test Engineer Executed By name and password. Police officer login. High Execution Date 05/12/2015 The user has valid combination of Email and Password. A user must Sign-Up before login. Test Data Expected Actual Status Result Result Email: If user has The user has Pass
[email protected] entered successfully Password: correct user login. test#123 name and password the application must allow him to login successfully.
The user has successfully login to the system and directed towards the main screen of the application. The authentic user must create account for login. Table 4. Test Case T-1-2
Test Case ID Test Case Title Module Name Priority Pre-Conditions Dependencies Steps 1. Launch the application. 2. Navigate to the login page. 3. Provide valid CNIC number. 4. Provide valid password. 5. Click on
Copyright ⓒ 2016 SERSC
T-1-2 QA Engineer Designed By Login with valid user Test Engineer Executed By name & password Police officer login High Execution Date 05/12/2015 The user has valid CNIC & Password. A user must Sign-Up before login. Test Data Expected Actual Status Result Result CNIC: If user has The user has Pass 61101-8447560-9 entered successfully Password: correct CNIC login. test#123 and password the application must allow him to login successfully.
109
International Journal of Software Engineering and Its Applications Vol. 10, No. 7 (2016)
login button. Post-Condition Suggestion
The user has successfully login to the system and directed towards the main screen of the application. The authentic user must create account for login. Table 5. Test Case T-1-3
Test Case ID Test Case Title Module Name Priority Pre-Conditions Dependencies Steps 1. Navigate to the login page. 2. Invalid Email. 3. Invalid Password. 4. Click on login button. Post-Condition Suggestion
T-1-3 QA Engineer Designed By Login with invalid user Test Engineer Executed By name and password Police officer login Critical Execution Date 05/12/2015 User has invalid Email & Password. A user must not Sign-Up before Login. Test Data Expected Actual Status Result Result Email: User should User cannot Pass Shahsalamss#gamil.com not be able to login to the Password: login. system. test123
User did not login to the system. A message should be displayed which describe that username or password you have entered is incorrect. Table 6. Test Case T-1-4
Test Case ID Test Case Title Module Name Priority Pre-Conditions Dependencies Steps 1. Navigate to the login page. 2. Invalid Email. 3. Invalid Password. 4. Click on login button. Post-Condition Suggestion
110
T-1-4 QA Engineer Designed By Login with Invalid user Test Engineer Executed By name & password Test Police Officer Login Critical Execution Date 05/12/2015 User has Invalid CNIC and Password. A user must not Sign-Up before Login. Test Data Expected Actual Status Result Result Email: User should User failed Pass 61101-825u25 not be able to to login to Password: login. the system. test123
User did not login to the system. A message should be displayed which describe that username or password you have entered is incorrect.
Copyright ⓒ 2016 SERSC
International Journal of Software Engineering and Its Applications Vol. 10, No. 7 (2016)
Table 7. Test Case T-1-5 Test Case ID Test Case Title
Module Name Priority Pre-Conditions Dependencies Steps 1. Navigate to the login page. 2. Do not enter any value in username & password field. 3. Click on login button. Post-Condition
T-1-5 QA Engineer Designed By Login with empty Test Engineer Executed By username & Password Test Police Officer Login High Execution Date 05/12/2015 Both fields are empty. A user must not Sign-Up before Login. Test Data Expected Actual Status Result Result Email: User should User failed Pass not be able to to login to Password: login. the system.
User failed to login and a message generated that user name and password are empty.
Requirements for RE-002: There should be a main screen for the Police Official/Officer through which he can use it for inserting/deleting/updating record and searching. 1. A main screen should contain a form for navigation which contains buttons on the left side. 2. The data grid must be there. 3. A search box must be there with a search button at the right side on the screen after the search box. 4. The Buttons which leads to the other forms must be on the left side of the screen, also the buttons of update, delete edit must also be there at every form. 5. The search criteria should be with the FIR number and CNIC. Verification for RE-002: There should be a main screen for user through which he can access the system and navigate easily to the system and view/update/delete data. The main Screen should a search box and search button. A Function buttons and Navigation buttons should be place on the left place on the screen before the form fields. Data Grid must be there to display the search results of the queries. The Search criteria should be strict to the FIR Number and CNIC only. All Function buttons must be located on left side of main form.
Copyright ⓒ 2016 SERSC
111
International Journal of Software Engineering and Its Applications Vol. 10, No. 7 (2016)
Table 2. Requirement Checklist of RE-002 No 1 2 3 4 5
Requirements Buttons at Left Side Data Grid Search Box Navigation Buttons Search Criteria With FIR Number and CNIC
Status
Validation of RE-002: For the validation of RE-002 we have performed testing. For a given scenario we have executed Ten test cases among them Eight are valid and two un-valid. All test cases were carried out on Main Form only. Table 8. Test Case T-2-1 Test Case ID Test Case Title Module Name Priority Pre-Conditions Dependencies Steps 1. Navigate to the main page. 2. Launch the FIR Search Screen
Post-Condition
T-2-1 QA Engineer Designed By Search With Valid FIR Test Engineer Executed By No FIR Search High Execution Date 05/12/2015 User have Valid FIR No Against Each FIR Data must be stored to be displayed Test Data Expected Actual Status Result Result All FIR’s data stored in The Data of The Data of Pass database. Each FIR Each FIR should appearing appear in the with details Grid i.e. name, number, CNIC etc. FIR data displayed. Table 9. Test Case T-2-2
Test Case ID Test Case Title Module Name Priority Pre-Conditions Dependencies Steps 1. Navigate to the main page. 2. Launch the FIR search screen.
112
T-2-2 QA Engineer Designed By Search With Valid CNIC Test Engineer Executed By No FIR Search High Execution Date 05/12/2015 User have valid CNIC Number of person who filled FIR. Against Each FIR Data must be stored to be displayed. Test Data Expected Actual Status Result Result All FIR’s data stored in The data of The data of Pass database. each FIR each FIR should appearing appear in the with details. grid i.e. name,
Copyright ⓒ 2016 SERSC
International Journal of Software Engineering and Its Applications Vol. 10, No. 7 (2016)
number, CNIC etc. Post-Condition
FIR data displayed. Table 10. Test Case T-2-3
Test Case ID Test Case Title Module Name Priority Pre-Conditions Dependencies Steps 1. Navigate to the main page. 2. Launch the FIR Search Screen Post-Condition Suggestion
T-2-3 QA Engineer Designed By Search With Invalid FIR Test Engineer Executed By No FIR Search Critical Execution Date 05/12/2015 User has Invalid FIR No. Against Each FIR Data must be stored to be displayed. Test Data Expected Actual Status Result Result All FIR’s data stored in The Data of The Data of Pass database. FIR should FIR not not appear in appearing in the Grid the Grid
FIR data not displayed. A message should be displayed which describe that FIR No. or CNIC you have entered is incorrect. Table 11. Test Case T-2-4
Test Case ID Test Case Title Module Name Priority Pre-Conditions Dependencies Steps 1. Navigate to the main page. 2. Launch the FIR Search Screen. Post-Condition Suggestion
T-2-4 QA Engineer Designed By Search With Invalid Test Engineer Executed By CNIC No FIR Search Critical Execution Date 05/12/2015 User have Invalid CNIC Against Each FIR Data must be stored to be displayed Test Data Expected Actual Status Result Result All FIR’s data stored in The Data of The Data of Pass database. FIR should FIR not not appear in appearing in the Grid. the Grid
FIR data not displayed. A message should be displayed which describe that FIR No. or CNIC you have entered is incorrect. Table 12. Test Case T-2-5
Test Case ID Test Case Title Module Name Priority Pre-Conditions Dependencies
T-2-5 QA Engineer Designed By Buttons Functionality Test Engineer Executed By Crime Register Button High Execution Date 05/12/2015 Buttons should be active Against each important functionality the buttons should be added.
Copyright ⓒ 2016 SERSC
113
International Journal of Software Engineering and Its Applications Vol. 10, No. 7 (2016)
Steps
Test Data
1. Launch the Application 2. Click on Crime Register button 3. Enter any Data Post-Condition Suggestion
Buttons and their codding
Expected Result Upon button click the user should be moved to a desired form
Actual Result Upon click no desired form opened
Status
Failed
The desired crime register form should appear on screen. There should be problem with the codding. Table 13. Test Case T-2-6
Test Case ID Test Case Title Module Name Priority Pre-Conditions Dependencies Steps 1. Launch the Application 2. Click on Police Station button 3. Enter any Data Post-Condition
T-2-6 QA Engineer Designed By Buttons Functionality Test Engineer Executed By Police Station Button High Execution Date 05/12/2015 Buttons should be active Against each important functionality the buttons should be added Test Data Expected Actual Status Result Result Buttons and their Upon button Upon click codding. click the user the desired should be Police Pass moved to a Station form desired form opened
The desired Police Station form should appear on screen. Table 14. Test Case T-2-7
Test Case ID Test Case Title Module Name Priority Pre-Conditions Dependencies Steps 1. Launch the Application. 2. Go to Menu.
Post-Condition
114
T-2-7 QA Engineer Designed By Menu Items Test Engineer Executed By Menu High Execution Date 05/12/2015 Menu Items Should be added. Against each important functionality the Menu Item should be added Test Data Expected Actual Status Result Result Menu Items Upon Menu Upon click Pass Item click the the desired user should Menu Item be moved to form opened a desired functionality/ Form Desired menu Item open.
Copyright ⓒ 2016 SERSC
International Journal of Software Engineering and Its Applications Vol. 10, No. 7 (2016)
Table 15. Test Case T-2-8 Test Case ID Test Case Title Module Name
Priority Pre-Conditions Dependencies Steps 1. Launch the Application. 2. Click on the Add Button. 3. Type data in text fields. Post-Condition
T-2-8 QA Engineer Designed By Add Button Test Engineer Executed By Record Add functionality with all mandatory fields filled Critical Execution Date 05/12/2015 Add button should be present and active on form. Proper Table must be present in database Test Data Expected Actual Status Result Result Add Button and Its The Record The record Pass codding. must be successfully added into added into table with database. proper message via dialog box. Record added and message of record inserted appeared on screen. Table 16. Test Case T-2-9
Test Case ID Test Case Title Module Name
Priority Pre-Conditions Dependencies Steps 1. Launch the Application. 2. Click on the Add Button. 3. Type data in text fields with some empty fields. Post-Condition
T-2-9 QA Engineer Designed By Add Button Test Engineer Executed By Record Add functionality with some empty mandatory fields filled Critical Execution Date 05/12/2015 Add button should be present and active on form. Proper table must be present in database Test Data Expected Actual Status Result Result Add Button and Its The Record The record Pass codding must not be not added added into into table with database. proper message via dialog box. Record not added and message of missing fields displayed. Table 17. Test Case T-2-10
Test Case ID Test Case Title Module Name Priority Pre-Conditions Dependencies Steps
T-2-10 QA Engineer Designed By Delete Button Test Engineer Executed By Record Delete functionality Critical Execution Date 05/12/2015 Delete button should be present and active on form. Proper Table must be present in database with data Test Data Expected Actual Status
Copyright ⓒ 2016 SERSC
115
International Journal of Software Engineering and Its Applications Vol. 10, No. 7 (2016)
Result Result 1. Launch the Delete Button and Its The Record The record Application. codding. must be not deleted. 2. Select the FIR deleted with No. proper 3. Click Crime message via Delete Button. dialog box. Post-Condition Record not deleted and message of failure displayed.
Failed
9. Conclusion The developed system will help a lot to maintain the record of police station, although it is not a complete system, still some improvements are needed in the developed components and there is a need to add some additional necessary components. Further, all the registers are not digitized, this system covered few important registers which have more use in daily routine crime cases and are most frequently used. The proper testing of the software is important that enhances the quality of the software. The testing of important components has been carried out but further testing is required for the improvement. It is concluded that the developed software is efficient, reliable, portable and user-friendly and can be easily implemented in police stations as a trial basis and system can be further improved after identification of the problems during implementation in real environment and real data of Police stations.
References [1]
A. S. Shah, M. Fayaz, A. Shah and S. Shah, “An Application Development for Record Keeping of Police Stations in Pakistan”, Journal of Scientific Research and Advances, vol. 2, no. 4, (2015), pp. 144-150.
[2]
T. Remencius, A. Sillitti and G. Succi, “Assessment of Software Developed by a Third-Party: A Case Study and Comparison”, Information Sciences, vol. 328, (2016), pp. 237-249. I. D. Coman and A. Sillitti, “An Empirical Exploratory Study on Inferring Developers Activities from Low-Level Data”, In: Proceedings of the 19th International Conference on Software Engineering and Knowledge Engineering (SEKE), Boston, MA, USA, (2007). G. L. Kovács, S. Drozdik, P. Zuliani and G. Succi, “Open Source Software for the Public Administration”, In: Proceedings of the Sixth International Workshop on Computer Science and Information Technologies, Budapest, Hungary, (2004). K. Mordal, N. Anquetil, J. Laval, A. Serebrenik, B. Vasilescu and S. Ducasse, “Software Quality Metrics Aggregation in Industry”, Journal of Software Evolution Process, vol. 25, no. 10, (2013), pp. 1117–1135. G. Garousi, V. Garousi, G. Ruhe, J. Zhi, M. Moussavi and B. Smith, “Usage and Usefulness of Technical Software Documentation: An Industrial Case Study”, Information and Software Technology, vol. 57, (2015), pp. 664-682. G. Garousi, V. Garousi, M. Moussavi, G. Ruhe and B. Smith, “Evaluating Usage and Quality of Technical Software Documentation: An Empirical Study”, In: Proceedings of the 17th International Conference on Evaluation and Assessment in Software Engineering, New York, (2013), pp. 24-35. J. M. Memon, A. Khan, A. Baig and A. Shah, “A Study of Software Protection Techniques”, Innovations Advanced Techniques in Computer and Information Sciences and Engineering, Springer Netherlands, (2007), pp. 249-253.
[3]
[4]
[5]
[6]
[7]
[8]
[9]
A. Shah, A. Raza, B. Hassan and A. S. Shah, “A Review Of Slicing Techniques In Software Engineering”, In: International Conference on Engineering and Technology, Srilanka, (2015) March 17-18, pp. 1-15.
[10] Spring Framework, http://spring.io/. Retrieved 2016-06-09. [11] E. Petrinja, A. Sillitti and G. Succi, “Comparing OpenBRR, QSOS, and OMM Assessment Models”, In: Proceedings of the Sixth International Conference on Open Source Systems (OSS 2010), Notre Dame, IN,USA, (2010), pp. 224-238. [12] http://jmeter.apache.org/ Retrieved 2016-02-07. [13] L. Sarigiannidis, and P.D. Chatzoglou, “Quality VS Risk: An Investigation of Their Relationship in Software Development Projects”, International Journal of Project Management, vol. 32, no. 6, (2014), pp. 1073-1082.
116
Copyright ⓒ 2016 SERSC
International Journal of Software Engineering and Its Applications Vol. 10, No. 7 (2016)
[14] L. Sarigiannidis and P. Chatzoglou, “Software Development Project Risk Management: A New Conceptual Framework”, Journal of Software Engineering and Applications, vol. 4, no. 5, (2011), pp. 293-305. [15] J. Zhi, V. Garousi-Yusifo-glu, B. Sun, G. Garousi, S. Shahnewaz and G. Ruhe, “Cost, Benefits and Quality of Software Development Documentation: A Systematic Mapping”, Journal of Systems and Software, vol. 99, (2015), pp. 175-198. [16] http://www.ranorex.com/blog/how-to-automate-your-tests-without-programming-skills-preparation/ Retrieved 2016-06-09. [17] https://www.linkedin.com/pulse/180-sample-test-cases-testing-web-desktop-tushar-singhal Retrieved 07/02/2016. [18] http://www.softwaretestinghelp.com/sample-test-cases-testing-web-desktop-applications/ Retrieved 07/02/2016. [19] http://www.ranorex.com/Documentation/Ranorex-Tutorial.pdf. [20] https://en.wikipedia.org/wiki/Ranorex. Retrieved 2016-02-06. [21] "Ranorex – UI Test Automation Tool for Professionals Award". QA Testing Tools. Retrieved 2016-0206. [22] http://www.ranorex.com/support/user-guide-20/code-examples.html.
Authors Abdul Salam Shah, has completed MS degree in Computer Science from SZABIST, Islamabad, Pakistan in 2016. He did his BS degree in Computer Science from Isra University Hyderabad, Sindh Pakistan in 2012. In addition to his degree, he has completed short courses and diploma certificates in Databases, Machine Learning, Artificial Intelligence, Cybercrime, Cybersecurity, Networking, and Software Engineering. He has published articles in various journals of high repute. He is a young professional and he started his career in the Ministry of Planning, Development and Reforms, Islamabad Pakistan. His research area includes Machine Learning, Artificial Intelligence, Digital Image Processing and Data Mining. Mr. Shah has contributed in a book titled "Research Methodologies; an Islamic perspectives," International Islamic University Malaysia, November, 2015.
Muhammad Fayaz, is currently perusing Ph.D. in Computer Science from, JEJU National University, South Korea. Before joining the JEJU National University, he has also completed the course work of Ph.D from University of Malakand, Chakdara, KPK, Pakistan. He received MS in Computer Science from SZABIST, Islamabad, Pakistan in 2014. He did MSC from the University of Malakand, KPK, Pakistan in 2011.
Asadullah Shah is working as Professor and Head of department of Information Systems (HOD) at the Kulliyyah of ICT, International Islamic University Malaysia (IIUM) before joining IIUM, he worked as Head of Telecommunication Engineering & Management department, IoBM Karachi Sindh, Dean Faculty of Computer and Management Sciences, Isra University Hyderabad Sindh and Head of Telecommunication Engineering and IT, Sukkur IBA, Sindh-Pakistan. He did his Ph.D. from the university of Surrey UK, in 1998, with the specialization in Multimedia Communication. He started his academic carrier from University of Sindh Jamshoro, Pakistan in 1986 as a lecturer.
Copyright ⓒ 2016 SERSC
117
International Journal of Software Engineering and Its Applications Vol. 10, No. 7 (2016)
He has published 200 research articles in highly reputable international and national journal in the field of computers, communication and IT. Also, he has published 12 books in his 30 years of the academic carrier. Currently he is supervising great number of postgraduate students, working in multiple disciplines, specially, animation, social media and image processing in the Department of Information Systems, Kulliyyah of Information and Communication Technology, International Islamic University Malaysia. Shahnawaz Shah is working as Lecturer at the Institute of Information and Communication Technology, University of Sindh, Jamshoro, Pakistan. He is also pursuing M.Phil. Degree in Telecommunication from the University of Sindh, Jamshoro, Pakistan. He did his BS degree in Telecommunication from University of Sindh, Jamshoro, Pakistan, in 2007.
118
Copyright ⓒ 2016 SERSC