Quality Control at Javra
Quality control and management is an important process for companies that helps to maintain quality standards of products and services. At Javra, our quality control team uses various quality tools to monitor and manage quality initiatives in an effective way in different client projects. They help prevent errors during various stages of the projects and ensures consistency of the processes being used.
Testing process at Javra are as defined below:
Plan: Defines the strategy and approach for application testing. It includes testing strategy, testing plan and test cases to complete different types of testing.
Prepare: During this phase all the pre-testing activities are organized and conducted. The activities conducted during this phase are environment set-up and test data creation. Testing tools are configured during this phase.
Execute: In this phase test cases (pass/fail) are executed by testing team. The testing results corresponding to each of the test cases are documented and then the defects identified are logged into defect tracking system.
Analyze: In this phase defect causal analysis will be performed to understand the cause and severity of the defect. The change request is generated and required communication will be forwarded to concerned team to correct the defects.
Software Testing Methodologies at Javra
1. Smoke Testing
Smoke Testing is also termed as build verification testing that is carried out to check weather the new build provided by the software developers is stable enough for further testing process. Major functionality of application are analyzed without caring for detailed testing of each software components. On the basis of project requirements, manual or automatic smoke testing are performed on both newly created software and existing enhanced software. Development team that prepares built frequently are advisable to automate smoke testing for reliability.
2. System Testing
System Testing is conducted on a complete and fully integrated software product for evaluation of system criteria with specified requirements. System testing lies within the scope of black-box testing that doesn’t require knowledge of the inner design of the code or logic.
3. Use Case Testing
Use Case testing is the primary method of testing application functionality that helps to identify the test cases for exercising whole system on a transaction by transaction basis from initial to final stage. Use cases use the general business language rather than technical terms.
4. User Input Validation
User Input Validation tests the front end of the application allowing only valid input data to be entered. The testing ensures that input data is validated by the system before it is processed. If specific data input validation requirements are specified these will be tested. In the absence of specific requirements the QC Engineer should check that input validation is logical, reasonable and secure. User Input Validation also includes testing the front end security related to data entry.
5. Error Testing
Error Testing is based on verification of “negative” use cases, unexpected system use, unexpected data entry, as well as documented error conditions. It should be displayed in the form of messages and should guide users to proceed in a correct manner such that the application should be tested in all the areas of the system.
6. Integration Testing
Integration testing is carried out by combining individual units and tested as a group. The major objective of this testing is to expose the faults in interaction among different integrated units. It focuses on how the new or modified modules in the system can relate to other modules. Various test drivers and test stubs are used to assist in integration testing that eventually helps to encompass all aspects of software system’s performance, reliability and functionality.
7. User Interface Validation
User Interface Validation verifies that the program modules satisfy the user Interface requirements. For example, font size, font-family, field placement, field format, and tabbing between fields should be consistent throughout the user interface.
8. Performance Testing
Performance testing is done to determine speed and effectiveness of the system performance under a particular workload or in reduced capabilities. Performance testing falls in the class of black-box testing where it should demonstrate that the system meets performance criteria. For example, the Apache JMeter tool could be used by the QC Engineer to create different thread-groups to perform latency, load, and stress tests.
9. Security Testing
Security testing is done in systems to uncover possible vulnerabilities of the system, analyze data and resources so that confidential information are protected from possible intruders. All users belonging to a particular group have access only to the features allocated to the group and rest of the features remains hidden. For example, system administrators could get access to modules used for updating the system configuration; manage users whereas in the other hand, normal users might get access only to the basic application features.
10. Server-side Log Verification
Errors may be generated on the server-side without any visibility of the problem on the client-side. Server-side log files, such as the Progress/OpenEdge AppServer log file should be verified to ensure that server-side issues are identified and dealt with as required.
10. Testing Automation
Selenium WebDriver is currently used for writing test automation script for web application. Automation tests can reduce the overall load of regression testing and increase test coverage. Automated scripts help to identify if a major change in the application causes any side effects in the related areas of the application and needs little or no human intervention.
Importance of QA, QC & Testing
Quality assurance and testing process in software development is remarkably important to deliver bug free software. The longer bugs go undetected, the more costly it will be to fix due to inconsistent data used . Thus, companies prefer to hire QA test engineers to validate the code and to deliver project even if the cost goes high. A quality product consists of their own reputation and thus are easily acceptable by the end users. Everything possible is being done to ensure that the delivered product is of high quality and meet all the project requirements that ultimately increase the customer satisfaction. QA and testing must performed on proposed time and within the budget so that there will be proper utilization of the resources.
Quality control provides following benefits:
- Quality consciousness
- Reduction of inspection cost and production cost
- Optimal utilization of resources
- Customer satisfaction and loyalty
- Built long term relationship with customers
The QC Engineer should be involved in the project from the initial design phase. This enables early planning of test activities based on requirements analysis, and helps to identify major and general issues early in the project and thus reduce the overall project effort. The role of QA test engineer is significant because self-testing is not effective and there may be conflict of interest in working process. Business is more willing to invest on those products that are safe, reliable and consistent. These products can be developed through the various series of QA and testing mechanisms before delivering the final products.
Contact firstname.lastname@example.org to know detailed information about quality control, quality assurance and testing at Javra.