Sunday, September 25, 2016

QA General Test Scenarios

These are some of the  basic test scenarios which should be covered during the testing.

CRUD Operations

System Messages Verification

Sorting & Pagination

Date Format Verification

Special Character & Validations

Spelling/Grammar/Alignment

 If the test case  scenario is “Validate the login functionality” – This would take in 3 test cases
  • Login (successful)
  • Login-unsuccessful when incorrect username is entered
  • Login-unsuccessful when incorrect password is entered.
Each test case would in turn have steps to address how we can check a particular test condition is satisfied or not.

  •  Test Case is ‘How to be tested’ and Test Scenario is ‘What to be tested’
actually, a test case is a set of steps to be executed ,in order to validate the scenario.

Test case document template 




Thursday, June 23, 2016

Regression Testing



  • Regression testing is a black box testing technique.
  • Re-executing the tests that are impacted by the code changes.
  • Regression testing make sure that the older programming still works with the new changes.
  • Tools: selenium can be use for browser based regression testing

Acceptance Testing


  • Testing technique performed to determine whether or not the software system has met the requirement specifications.
  • Evaluate the system's compliance with the business requirements.
User Acceptance Testing
Business Acceptance Testing
Alpha Testing 
Beta Testing

Test the Functional Correctness and Completeness,Data Integrity,Data Conversion,Usability,Performance,Timeliness,Confidentiality andAvailability,Installability and Upgradability,ScalabilityDocumentation of the final system.



  • Acceptance testing is basically done by the user or customer although other stakeholders may be involved as well.
  • The goal of acceptance testing is to establish confidence in the system.


  • System Testing


    • Black box testing technique
    • Include both functional and non-functional testing/business process, use cases, or other high level descriptions of system behavior, interactions with the operating systems, and system resources..
    • evaluate complete system functionalities.
    • Types :  Interchangeability, reliability ,performance ,functionality,Scalability ,load and stability,stress,regression.
    • System testing is most often the final test to verify that the system to be delivered meets the specification and its purpose.






    Monday, June 20, 2016

    Selenium Testing Tool

    • It is  automating web applications for testing purposes.
    • Not a tool, but an API.
    • Supports multiple browsers.
    • Supports multiple languages,Operating systems.(PHP,Java,C#,Ruby)
    • can integrate with other APIs as well(JUnit,NUnit,TestNG) 
    • Open Source
    •  Google developers are working on this API.
    • Four components- Web driver,IDE,Grid,Remote Control.

    Selenium Web Driver 

    Browser based regression tests 

    Selenium IDE

    A Firefox add-on that will do simple record-and-playback of interactions with the browser.allows us to record, edit, and debug tests.

    only work on Firefox.

     

     

     


     

          



    Tuesday, June 7, 2016

    Integration Testing

    • Testing of combined parts of an application to determine if they function correctly.
    • Two ways, Bottom-up integration and Top-Down integration
    • Top-Down integration-highest-level modules are tested first and progressively, lower-level modules are tested thereafter.
    • Bottom-up integration low-level modules are tested first and progressively, higher-level modules are tested thereafter.
    • Integration testing tests interfaces between components.
    • After integrating two different components together testers do the integration testing. 

    Integration  testing tools
    • JUnit
    • Nested Runner

    Sunday, June 5, 2016

    Unit Testing


    • Each unit is tested separate before integrating them in to modules.
    • This give the ability to verify that the system functions work as expected.
    • The goal of unit testing is to isolate each part of the programmer and show that individual parts are correct in terms of requirements and functionality.
    • unit tests are basically written and executed by software developers.
    • White box texting method is used for executing the unit test.  


    Advantages of unit testing
    •  Issues are found at early stage,the issues can be found very early and can be resolved then and there without impacting the other piece of codes.
    •  Unit testing helps in maintaining and changing the code.  chances of impact of changes to any other code gets reduced.
    •  Since the bugs are found early in unit testing hence it also helps in reducing the cost of bug fixes.
    •  Unit testing helps in simplifying the debugging process.  
    Unit testing tools
    •  J Unit is a framework that I use for writing both unit and integration tests.  it is the most popular testing framework for Java programming language
    • Mockito is the most popular mocking framework for writing unit tests.
    • Db Unit is a JUnit extension that can be used to initialize the database into a known state before each integration test and ensure that the database contains the correct data

    Tuesday, May 31, 2016

    Software Testing Levels-Overview

    Today we'll learn what are the main levels of testing.Actually there are different levels during the process of testing. In this post, a brief description is provided about these levels.
    Levels of testing include different methodologies that can be used while conducting software testing. The main levels of software testing are,

    • Functional Testing
    • Non-functional Testing

    Functional Testing

    This is a type of black-box testing that is based on the specifications of the software that is to be tested. The application is tested by providing input and then the results are examined that need to conform to the functionality it was intended for. Functional testing of a software is conducted on a complete, integrated system to evaluate the system's compliance with its specified requirements.

    • Unit Testing
    • Integration Testing
    • System Testing 
    • Acceptance Testing
    • Regression Testing
    • Alpha Testing 
    • Beta Testing
     Non-Functional Testing

    Non-functional testing involves testing a software from the requirements which are nonfunctional in nature but important such as performance, security, user interface, etc.
    • Performance Testing
    • Usability Testing
    • Security Testing
    • Portability Testing

    Thursday, May 26, 2016

    Software Testing Life Cycle

    Software Testing Life Cycle (STLC) defines the steps/ stages/ phases in testing of software.



    Like SDLC, STLC has fixed phases.

    1. TEST PLANNING – Preparing the test strategy & planning
    2. TEST DEVELOPMENT – Creating the testing environment
    3. TEST EXECUTION – Writing the test cases/Creating & Executing the Test Script
    4. RESULT ANALYSIS – Analysis result and Bug report
    5. BUG TRACKING – Analyze Bugs and application errors
    6. REPORTING – This is a post conditional process which involves collecting data from end users

    Software Errors, Faults and Failures

    With respect to the software, there are three classifications of software defects or bugs as they are more commonly referred as,

    • Software Error

      Software errors are sections of the code that are partially or totally incorrect as a result of a grammatical, logical or other mistake made by a systems analyst, a programmer, or another member of the software development team.An error can be a grammatical error in one or more of the code lines,or a logical error in carrying out one or more of the client’s
      requirements.An error may or may not be detected during the coding or
      testing of the program before it is released to a customer.

    • Software Fault

      Software faults are software errors that cause the incorrect
      functioning of the software during a specific application A software fault occurs as a result of an error that remains in the executing program However, not all software errors become software faults.Not all faults however are detected and the software may continue executing without any obvious problems.There are cases where software faults go undetected for many years of a programs existence

    • Software Failure

      Software faults become software failures only when they are “activated”, that is, when a user tries to apply the specific software section that is faulty. Thus, the root of any software failure is a software error.

    Tuesday, April 26, 2016

    What is SQA?

    What is Software Quality Assurance?
    SQA is an ongoing process within the development life cycle(SDLC) that routinely checks the developed software to ensure it meets desired quality measures.

    SQA is based on planning and the application of a variety of actions that are integrated into all the stages of the software development process. - IEEE Definition.


    • SQA helps ensure the development of high-quality software. 
    • SQA practices are implemented in most types of software development.
    • SQA incorporates and implements software testing methodologies to test software. 
    • SQA processes tests for quality in each phase of development until the software is complete. 
    • With SQA, the software development process moves into the next phase only once the current/previous phase complies with the required quality standards.
    • SQA generally works on  industry standards that help in building software quality guidelines 
    • These standards include the ISO 9000 and CMMI (capability maturity model integration )   

    SQA Objectives 

    • Assuring  the software will conform to functional technical requirements.
    • Assuring  the software will conform to managerial scheduling and budgetary requirements
    • Initiating and managing of activities for the improvement and greater efficiency of software development and SQA activities.