Skip to main content

TESTING AND QUALITY

Testing is the process of testing the functionality and correctness of software by executing it and it assesses or measures the software quality which according to Philip Crosby is defined as “Conformance to Requirements”.
If a software product is of high quality, it will meet the customer’s needs. The customer will feel that the product is excellent and according to his requirements.
Joseph Juran distinguishes between Customer Satisfiers and Dissatisfiers as key dimensions of quality:

– Customer Satisfiers
• the right features
• adequate instruction
– Dissatisfiers
• unreliable
• hard to use
• too slow
• incompatible with the customer’s equipment


DIMENSIONS OF QUALITY


The Quality dimensions described by McCall represent one of the number of suggested “Checklists” for Software Quality. Every area of the program cannot be tested fully against a list of quality dimensions. There are (as always with testing) too many possible tests. Somehow, you will have to find a way to cull the “best ideas out” and test using those. Projects vary in risk and objective, so the “best ideas” list will be different for each program.

FURPS is often seen as a conceptually complete system. It is described as : -

Functionality - Evaluate the feature set and capabilities of the program, the generality of the functions delivered and the security of the overall system.

Usability - Consider human factors, overall aesthetics, consistency, and documentation.

Reliability - Measure the frequency and severity of failures, the accuracy of outputs, the ability to recover from failure, and the predictability.

Performance -Measure the processing speed, response time, resource consumption, throughput and efficiency.

Supportability - Measure the maintainability, testability, configurability and ease of installation.

There are a set of metrics used to develop expressions for each of these quality factors or dimensions. Different Dimensions of quality are:-

Accessibility: - The degree to which software can be used comfortably by a wide variety of people, including those who require assistive technologies like screen magnifiers or voice recognition.

Capability: - The capability of a system is how the system performs compared to its specification limits or requirements or the ability to successfully perform an operation or accomplish an objective.

Compatibility: -The suitability of products, processes or services for use together under specific conditions to fulfill relevancy requirements without causing unacceptable interactions.

Concurrency:-The ability of a system to service multiple requests to the same resources at the same time. A high degree of concurrency is desirable in database systems. Multiple users or programs simultaneously sharing the same database. Transactions and data locks are used to give each of these a consistent view of the database.

Efficiency:-An ability to perform well or achieve a result without wasted energy, resources, effort, time or money. Efficiency can be measured in physical terms (technical efficiency) or terms of cost (economic efficiency). Greater efficiency is achieved where the same amount and standard of services are produced for a lower cost, if a more useful activity is substituted for a less useful one at the same cost or if needless activities are eliminated.

Installability:-Attributes of a software that bear on the effort needed to installthe software in a specified environment or the capability of the software productto be installed in a specified environment.

Localizability:-It verifies that you can easily translate the user interfaceof the program to any target language without re-engineering or modifying code.


Maintainability:-The ease with which a software system can be modified to change or add capabilities, improves performance, or correct defects. Maintainability has two categories: serviceability (the ease of conducting scheduled inspections and servicing) and repair-ability (the ease of restoring service after a failure).


Performance: The degree to which a development intervention or a development partner operates according to specific criteria/standards/guidelines or achieves results in accordance with stated goals or plans. A major factor in determining the overall productivity of a system, performance is primarily tied to availability, throughput and response time.

Portability: The ability of the software to be transferred easily from one computer to another for the purposes of execution.

Scalability:-The measure of a system's ability to increase or decrease in performance and cost in response to changes in application and system processing demands. Examples would include how well a hardware system performs when the number of users is increased, how well a database withstands growing numbers of queries, or how well an operating system performs on different classes of hardware. Enterprises that are growing rapidly should pay special attention to scalability when evaluating hardware and software. How well a system can adapt to increased demands. For example, a scalable network system would be one that can start with just a few nodes but can easily expand to thousands of nodes.

Reliability: - The ability of an item to perform a required function under stated conditions for a stated period of time.

Security: - The security of a system is the extent of protection against some unwanted occurrence such as the invasion of privacy, theft, and the corruption of information or physical damage.

Supportability:- The degree to which system design characteristics and planned logistics resources, including manpower, Supportability evaluations include consideration of the impact of support decisions on operational performance, sustainability, and life cycle cost.

Testability: - The ability of the software to be easily verified by execution. Testability attempts to quantify those attributes of system design which facilitate detection and isolation of faults that affect system performance.

Usability:-Usability is making your site easy for your customers to find the exact information they need when they need it. Usability is a generic term that refers to design features that enable something to be user-friendly.


SOFTWARE QUALITY ASSURANCE

Software Quality Assurance (SQA) is defined as a planned and systematic approach to the evaluation of the quality and adherence to software product standards, processes, and procedures. SQA includes the process of assuring that standards and procedures are established and are followed throughout the software acquisition life cycle.
Compliance with agreed-upon standards and procedures is evaluated through process monitoring, product evaluation, and audits. Software development and control processes should include quality assurance approval points, where an SQA evaluation of the product may be done in relation to the applicable standards.
Standards are the established criteria to which the software products are compared. Procedures are the established criteria to which the development and control processes are compared.
Standards and procedures establish the prescribed methods for developing software; the SQA role is to ensure their existence and adequacy through proper documentation of standards and procedures which is a necessary activity.

Quality Assurance (QA) consists of those procedures, techniques and tools used to ensure that a product meets or exceeds pre-specified standards during its development cycle.
Software Quality Assurance is closely related to the verification and validation (V&V) activities carried out at each stage of the software life cycle. However, a clear distinction should be made:
QA is a management function, whereas V&V are technical development processes.
V&V are concerned with fault detection, but QA has a broader limit: It is concerned with software reliability as well as other attributes such as maintainability, portability and readability.
Within an organization, QA should be carried out by an independent software quality assurance team that reports directly to management above the project manager level. The QA team should not be associated with any particular development group but should be responsible for QA across the organization. Figure 1 shows the basic management structure for software QA.


QUALITY ASSURANCE & QUALITY CONTROL



1. Quality Assurance makes sure you are doing the right things, the right way whereas
Quality Control makes sure the results of what you've done are what you expected.

2. QA focuses on building in Quality and hence preventing Defects, QC focuses on
Testing for quality and hence detecting defects.
3. QA: Deals with process, QC: Deals with product.
4. QA: for entire life cycle, QC: for testing part in SDLC
5. QA is preventive process, QC is corrective process

Comments

Popular posts from this blog

Convert JSON to XML using QTP/UFT/VBScript

Sample Code : Dim strPage,strJSON,objIE strPage = "C:\Jay\JLoader.html" Set objIE = CreateObject("InternetExplorer.Application") objIE.Visible = True objIE.Navigate2 strPage While objIE.Busy : Wend strJSON = "{""FirstName"":""Jay"", ""LastName"":""Krishna""}" Set objWin = objIE.document.parentWindow objWin.execScript "var jsonStr2XML = function(strJSON) { return json2xml(JSON.parse(strJSON));};" Msgbox  oWin.jsonStr2XML(strJSON) objIE.Quit In Detail: Converting The most popular data interchange format JSON(JavaScript Object Notation) to XML using QTP/UFT. Parsing JSON in UFT could be a challenge so we will use JavaScript in UFT to make it perfect. SO We need :              Java Script API  - To Convert JSON to XML                         JavaScript Files :                         http://goessner.net/download/prj/jsonxml/j

Read Outlook mail attachment and Body using Vb Script or QTP

Set olApp = CreateObject("Outlook.Application") Set olns = olApp.GetNameSpace("MAPI") Set ObjFolder = olns.GetDefaultFolder(6) j = 0 For each item1 in ObjFolder.Items        iattachCnt = item1.Attachments.Count     Print "Attachments Count: " & iattachCnt     For i = 1 to iattachCnt         Print "FileName :    " & item1.Attachments(i).FileName         Print "Display Name:   " & item1.Attachments(i).DisplayName         Print "Size: " & item1.Attachments(i).Size     Next     Print " Body : " & item1.body     Print "--------------------------------------Mail Num - " & j & " -----------------------------------------------"     j = j+1    Next

Excel Sorting By Rows and Columns

Excel Sorting By Row: Const xlAscending = 1 Const xlNo = 2 Const xlSortRows = 2 Set objExcel = CreateObject(“Excel.Application”) objExcel.Visible = True Set objWorkbook = objExcel.Workbooks.Open(“C:\Jay\Docs1.xls”) Set objWorksheet = objWorkbook.Worksheets(1) objWorksheet.Cells(1,1).activate Set objRange = objExcel.ActiveCell.EntireRow objRange.Sort objRange, xlAscending, , , , , , xlNo, , , xlSortRows set objExcel=nothing Excel Sorting By Column : Const xlAscending = 1′represents the sorting type 1 for Ascending 2 for Desc Const xlYes = 1 Set objExcel = CreateObject(“Excel.Application”)’Create the excel object objExcel.Visible = True’Make excel visible Set objWorkbook = _ objExcel.Workbooks.Open(“C:\Jay\Docs1.xls”)’Open the document Set objWorksheet = objWorkbook.Worksheets(1)’select the sheet based on the index .. 1,2 ,3 … Set objRange = objWorksheet.UsedRange’which select the range of the cells has some data other than blank Set objRange2 = objExcel.Range

How to Read or Select Context Menu or Right Click Menu using QTP.

Select The Item in Right Click Menu or Context Menu: Window("sampleWindow").WinMenu("MenuObjType:=1).Select"File;New" Here MenuObjtype can be 1 r 2 r 3 .......n Check wether the Item is Exist or Not: If Window("sampleWindow").WinMenu("MenuObjType:=1).GetItemProperty("1","Exist") Then   Msgbox"Exist" Else  Msgbox"Does Not Exist" End If                                         Or If Window("sampleWindow").WinMenu("MenuObjType:=1).GetItemProperty("File","Exist") Then   Msgbox"Exist" Else  Msgbox"Does Not Exist" End If Get the Items in Context Menu: For i = 1 to 10 Print  Window("sampleWindow").WinMenu("MenuObjType:=" & i).GetItemProperty("1","Label") Then Next

How to Download a file using VbScript

Following is the code to download a file using Vbscript, without using QTP This code uses the HTMLDom and URLDownloadToFile method from urlmon API. Since VBScript does support calling Native API methods directly, here I am using  Excel macro to declare a function for the urlmon API and running the macro by Excel API from VBscript Step1: Create a new excel and open the visual basic editor, Insert Module and paste the following code the Module, save the excel file Private Declare Function URLDownloadToFile Lib “urlmon” Alias _                                            “URLDownloadToFileA” ( _                                            ByVal pCaller As Long, ByVal szURL As String, _                                            ByVal szFileName As String, _                                            ByVal dwReserved As Long, _                                            ByVal lpfnCB As Long) As Long Sub FileSave(strUrl, Des)     r = URLDownloadToFile(0, strUrl, Des, 0, a)