Introduction to Software Quality Assurance Presented By Syed
Introduction to Software Quality Assurance, Presented By: Syed Asim Aftab Scientist-F NIC UP State Centre, Lucknow, UP
“Software Quality” The Scenario Ø
Defining Software Quality Ø Software Quality of an application can be defined as an effort to achieve topmost functional and operational standards through the use of best practices. ØSoftware Quality of an application usually can be treated as good if it meet out all the requirements. Ø Software Quality of an application is also related with user satisfaction level. Ø Software Quality not only deal with the operational part but also play a vital role in regard of looks and response of application.
Defining Software Quality Ø A Quality product does exactly what the user want it to be. Ø
Software Quality Assurance? (Challenges) v Crude User Interface v Functional Gaps v Performance Issues v Usability Issues v Compatibility Problem v Poor Documentation
Software Quality Assurance? (Challenges) Ø Improper Data Management Ø Unexpected Failures & Error Handling Ø Frequent Modifications & Changes Ø Lack of Knowledge Ø Acquiring unsuitable resources/Technology Ø Hasty user with insufficient Knowledge
Reasons for Neglecting Software Quality Assurance Cost Increases the overall cost of project Time Takes much time rather than usual Efforts Don’t want to put the efforts Team Unavailability of a Team for It’s requirements
Software Quality Assurance Impacts on Productivity Improves the productivity & maximize efficiency Reliability Fulfill user’s requirements as reliable solution Credibility Minimize failures and improves credibility Flexibility Easy to customize for other close requirements
Software Quality Assurance Impacts on Schedules Costing Resources Records Activities to be done as per timeline Basically it reduces the cost of the system Perform with sufficient but optimum resources Documentation for change management/Maintenance
Software Quality is Important for…. Users It pays a direct impact on efficiency of user Developers Matured developer maintain Software Quality Organization It may impact over reputation of organization Students For better carrier aspects students must learn it
Activities involved in Software Quality Assurance Ø Parallel to development Ø Discussion with user department Ø Clear and complete scope of work Ø Understanding user requirements at early stage Ø Well designed SRS Ø No tolerance towards ambiguities
Activities involved in Software Quality Assurance Ø Fixing priorities of objectives Ø Timeline for various activities with Planning Ø Estimation of resources & needs Ø Adoption of suitable technology Ø Analysis of Functional & Non-functional areas
Activities involved in Software Quality Assurance Ø Cost Estimation Ø Building a team with proper skills Ø Using best practices available Ø Proper Database design Ø Putting best efforts for UI Ø Monitoring of Project Progress Ø Functional Completeness
Activities involved in Software Quality Assurance Ø Ensuring availability & scalability Ø Provision for Integration & Interoperability Ø Mechanism for Maintenance Ø Ensuring performance & testing Ø Availability of related documents Ø Fault Tolerance
Software Process Quality Ø Software Process Quality v CMM (Capability Maturity Model) §It is a framework which is used to analyze the approach and techniques to develop a software product. §It provides guidelines to further enhance the maturity of software products. §Each level of maturity shows process capability, each level described by Key Process Areas (KPAs) Ø Example ISO 15504
Software Process Framework Ø Framework is a Standard way to build and deploy applications. Ø A generic process framework encompasses five activities Communication v communicate for requirement gathering Planning Technical tasks, schedule, risks & Resources etc. Modeling Product’s model for better understanding. Construction Generate the code and test the product Deployment Test complete or non-complete product or s/w
Software Process Quality Ø Software Process Quality v CMM (Capability Maturity Model) 5 levels are…… Level-1 INITIAL Level-2 REPEATABLE Level-3 DEFINED Level-4 MANAGED Level-5 OPTIMIZING v
Software Product Quality Ø Software Product Quality v Product Quality is important since It shows how a software product is performing. Ø Main software quality characteristics of ISO 25010 standard can be divided in two broad categories • External Characteristics concerned with the users • Internal Characteristics concerned with Development Team
ISO 25010 Software Product Quality Characteristics Ø External Characteristics v Functionality Suitability v Usability v Performance efficiency Usability v Reliability Ø Internal Characteristics v Security v Portability v Compatibility v Maintainability
Subcategories of ISO 25010 Software Quality Characteristics Ø Usability v Appropriateness v Learnability v Operability v Accessibility v Recognizability v User Error Protection v User Interface Aesthetics
Subcategories of ISO 25010 Software Quality Characteristics Ø Functionality Suitability v Functional completeness v Functional Correctness v Functional Appropriateness Ø Performance efficiency v Time Behaviors v Resource Utilization v Capacity
Subcategories of ISO 25010 Software Quality Characteristics Ø Reliability v Maturity v Availability v Fault Tolerance v Recoverability Ø Compatibility v Coexistence v Interoperability
Subcategories of ISO 25010 Software Quality Characteristics Ø Security v Confidentiality v Integrity v Accountability v Authenticity v Non-Repudiation Ø Portability v Adoptability v Install-Ability v Replace-Ability
Subcategories of ISO 25010 Software Quality Characteristics Ø Maintainability v Modularity v Reusability v Modifiability v Testability v Analyzability
Software Quality Documents prepared by Quality Group, NIC HQ S. No. Title of Document 1 UI Ux Design 2 Form Validation Techniques. 3 Cross Browser Compatibility. 4 Database Design Principles and Data Quality. 5 SQL Query Optimization Guidelines. 6 Error and Exception Handling. 7 Log and Audit Trails. 8 Guidelines on Building Scalable Web Applications. 9 Quality Assurance Guidelines & Checklists (Four Documents).
Web App Quality Checklist (By NIC Quality Group) S. No. Quality Attribute 1 Purpose, scope and users of Application must be specified on the landing Page. 2 Logo(s) Should be incorporated at appropriate place(s) at landing page. 3 Application is Browser independent. 4 Responsive to popular devices (desktop, laptop, tablet, mobile). 5 Response Time for any page loading or action performed. 6 Users are able to clearly identify where to proceed for Sign-Up/Sign In. 7 Authentication mechanism as per sensitivity of the application. (Role Based) 8 Masked SPDI should be used in form(s) while capturing/updating data.
Web App Quality Checklist (By NIC Quality Group) S. No. Quality Attribute 9 application has to be checked for any spelling error. 10 Clearly marked mandatory and optional fields. 11 Primary Action Buttons should be prominent While other with less visual weight. 12 Large web forms divided into logical data collection parts. 13 A Confirmation message should be displayed against all Update, Delete and Cancel. 14 Restrictions related to upload must be indicated and incorporated. 15 Domain specific Master code directories has to be identified and codified. 16 Ensuring Usage of latest stable versions of technologies/frameworks
Web App Quality Checklist (By NIC Quality Group) S. No. Quality Attribute 17 Well defined table/column names and Primary/Foreign key constrains. 18 Technology/Deployment architecture essentials for critical parameters. 19 Audit log feature must be included in the application. 20 Enable user to learn & use the product with the help of Manuals, FAQ & Guidelines.
Thank You! Syed Asim Aftab Scientis-F NIC UPSC, LUCKNOW IP NO: 47042 MOBILE NO: - 7351069333 EMAIL: sa. aftab@nic. in
- Slides: 30