Quality to me is

"Synergistic phenomena experienced by the user(s) when the product or a service satisfies the requirements, achieves business goals, exceeds expectations, is incredibly usable with real-time servicing & updates, optimal performance and cost effective"

Tuesday, October 2, 2012

Defect Triggers

A trigger is any event that allowed a fault to become a failure.
Multiple triggers may uncover the same fault.
The same trigger may be used at any point in the software lifecycle.
There are 3 families of triggers: review/inspection, function test, and system test.

Review/Inspection Triggers

DESIGN CONFORMANCE: Comparing the implemented design against a reference –design document, pattern, or guideline.
LOGIC/FLOW: Checking for correctness or flaws using knowledge of the practice.
BACKWARD COMPATIBILITY: Examining compatibility with prior version of the product.
LATERAL COMPATIBILITY: Examining for compatibility with other products and platforms that need to work with this release.
CONCURRENCY: Serialization, shared resources, multi-threaded tasks, timing, etc.
INTERNAL DOCUMENT: Inconsistencies in prologs, and sections in the same work product.
LANGUAGE DEPENDENCY: Programming standards, specific implementation considerations, environment restrictions, execution modes, etc.
SIDE EFFECTS: Usage behavior beyond design, but relevant in context.  Do A; B happens.
RARE SITUATION: Unusual issues related to idiosyncrasy of environment, hardware, or software.

Function Test Triggers


DESIGN CONFORMANCE: Comparing the implemented design against a reference –design document, pattern, or guideline.
LOGIC/FLOW: Checking for correctness or flaws using knowledge of the practice.
BACKWARD COMPATIBILITY: Examining compatibility with prior version of the product.
LATERAL COMPATIBILITY: Examining for compatibility with other products and platforms that need to work with this release.
CONCURRENCY: Serialization, shared resources, multi-threaded tasks, timing, etc.
INTERNAL DOCUMENT: Inconsistencies in prologs, and sections in the same work product.
LANGUAGE DEPENDENCY: Programming standards, specific implementation considerations, environment restrictions, execution modes, etc.
SIDE EFFECTS: Usage behavior beyond design, but relevant in context.  Do A; B happens.
RARE SITUATION: Unusual issues related to idiosyncrasy of environment, hardware, or software.

Systems Test Triggers


WORKLOAD STRESS: Pushing the limits of performance, resources, users, queues, traffic, etc.
RECOVERY: Invoke exception handling, recovery, termination, error percolation, etc.
STARTUP/RESTART: Major events of turning on, off, or changing the degree of service availability.
HARDWARE CONFIGURATION: Issues surfaced as a consequence of changes in hardware setup.
SOFTWARE CONFIGURATION: Issues surfaced as a consequence of changes in software setup.
BLOCKED TEST/NORMAL MODE: Test could not run during System Test, or customer found nonspecific trigger.  Look for additional trigger.

Monday, September 3, 2012

Invited Talk - NCSE, SHC, TPT

I was invited to give a talk on Software Quality Assurance at the National Conference for Software Engineering 2012, Sacred Heart College, Tirupattur. The crowd, mostly research scholars and computer science were very eager to know, why I chose Quality Assurance as a profession and what are the possible research directions that they could under take.

I began the talk by explaining what Quality is, its relativity, characteristics and importance. It was more of a QA awareness campaign. Where a quality professional should know, what goes into the code, the wholesome factor - end to end and with customer-end user context . Ideally, it should be taken as a specialization on the base course. (For example, specialization in gynae after the base medicine degree)

And the gist of the talk can be found below.

Systems
Safety
Health critical
Transaction critical
Embedded
Computation/Math/Data/Prediction
Real Time/Signals/Mobile
Virtual
ERP/CRM etc

What goes into the production code?
 
Various Engagement Models
Consulting (on Prem/ off prem)
Independent Testing
Crowd Sourcing
Factory Method
School of Testing/Heuristics
Business Validation/User Acceptance
Transitioning from testing requirements to Testing ideas
Automatic build deployment and verification etc

Research Directions

       Measuring software Quality (Quantitative/Qualitative)
       Metrics / Cost of Quality
       Quality Methodologies / Test Design Techniques
       Quality Processes/Agile methodology/Quality Frameworks and Standards
       Test Processes / Test life cycle / Test Phases / Test strategies and methods
       Complexity Analysis for testing
       Test Estimation / Function Point analysis
       Code/Feature/Test Coverage
       Defect Prediction / Root Cause Analysis / Orthogonal defect classification
       Test Generation from Formal Specification / Model Based Testing
       Design of Experiments
       Combinatorial/ pairwise / orthogonal array / Fractional factorial design
       Performance/Scalability/Reliability (PSR)
        Measuring / Predicting / Certifying
       Testing on cloud / Testing applications on Cloud
       Test Automation Framework
        Ad Hoc/Data Driven/Keyword Driven/Model Driven/Query Driven
       Integration and interoperability
       Test Optimization / Prioritization/Operation Readiness
       Test Organization/Test Maturity Model
       Test Assessment/Domain Maturity/Analysis & reporting/Process Improvements
       Data Mining and Inferences / Localization and Internationalization
      •       Message Testing/Data Mining