Search This Blog

Saturday 7 September 2013

Manual Testing

1)   What is testing?

A:  Testing is the process of evaluating a system or its components with the intent to find that whethe it satisfies the specified requirements o not. In order to produce quality product in the end and hence customers satisfaction.


2)   What are Types of Testings?


A: 1.  Regression testing : Regression testing is style of testing that focuses on retesting after changes are made.


 Usually this type of testing is done in two situations.


               *  When ever the test engineer identifies the defects, send to development department     after rectification developer will release the next build once the next build is released the test engineers will check whether the defect functionality as well as the related  functionality once again.


               *  When ever some new features are added to the appliction, next build released to the   testing department then the test engineer will check all the related features of those  new features once again.


  Note:

                * Testing the new features for the first time is not regression testing.
                * Random testing also falls under regression testing.

       2. Re Testing :  It is one type of testing in which one will perform testing on same   functionality again and again with multiple sets of values in order to come to conclusion to          that build is stable.

                 
                   *  Retesting starts from the first build continuous to the last build
                   *  Regression testing starts from the second build continuous to the last  build.
                   *  During the regression testing also retesting will be conducted. Some people called it as re and regression testing.

       3.Compatibility Testing : It is a type of testing in which one will install the application into   multiple environments prepared with different combinations in  order to conform whether the application is suitable with those environment or not.


                        *  This type of testing is more important for products rather than projects.


        Example: Skype product

              Its should support multiple envionments like windows(XP,7,8),Mac,Android,.......etc.
                  Bowsers like (chrome,FF,Opera,IE 7,8,9,10,......etc) also come into picture when we  test web applications.
          4. End to End Testing : It is a type of testing in which one will perform testing all the end   to end  scenarios of the application. Like Give input verify  the  output result.
                                           
                                         
        5. Adhoc Testing  :  It is a type of testing performed without planning and documentation.  The strength of adhoc testing is that important defects can be found quickly.

       6. Smoke Testing  : It is used to determine whether there are serious problems with a piece of  software, for example as a build verification system.



        7. Sanity Testing   :


Verifying important functionality  of the software on new build to decide whether to carry further testing or not.




3)   How many types of Testing techniques & Testing Methods?

A: Black Box Testing : It is a method of testing in which one will perform testing only on the functional part of an application with out having knowledge on structural part. This black box test engineers will  perform. It is a Type of Functional Testing.

White Box Testing : It is a method of testing in which one performs testing on the structural part of an application. 

Gray Box Testing  : It is a method of testing in which one will perform testing on both the functional and structural part of an application. 

Static Vs Dynamic Testing : It is method of testing in which Reviews, walkthroughs, or inspections are referred to as Static testing, where as actually executhin programmed code with a given set ot test cases is referred to as dynamic testing. Static testing can be omitted, and unfortunately in practice often is . Dynamic testing takes place when the program itself is used. Dynamic testing may begin before the program is 100% complete in order to test particular sections of code and are applied to discrete functions or modules. Typical techniques for this are either using stubs/drives or execution from a debugger environment.
       

3) What are Testing Levels?

A: The below are levels of testing:-

Unit Testing:

This type of testing is performed by the developers before the setup is handed over to the testing team to formally execute the test cases.The goal of unit testing is to isolate each part of the program and show that individual parts are correct in terms of requirements and functionality.

Integration Testing:

The testing of combined parts of an application to determine if they function correctly together is Integration testing. There are two methods of doing Integration Testing Bottom-up Integration testing and Top Down Integration testing.
Bottom-up integration
This testing begins with unit testing, followed by tests of progressively higher-level combinations of units called modules or builds.

Top-Down integration 

This testing, the highest-level modules are tested first and progressively lower-level modules are tested after that.


System Testing:

This is the next level in the testing and tests the system as a whole. Once all the components are integrated, the application as a whole is tested rigorously to see that it meets Quality Standards. This type of testing is performed by a specialized testing team.
  • The application is tested in an environment which is very close to the production environment where the application will be deployed.


Acceptance Testing

This is arguably the most importance type of testing as it is conducted by the Quality Assurance Team who will gauge whether the application meets the intended specifications and satisfies the client.s requirements. The QA team will have a set of pre written scenarios and Test Cases that will be used to test the application.

4)  What is STLC Testing? Write Testing process?

A: Step 1: Pre-study phase

             
              In this we have to check all the above documents. It may take 10-20 days.

    Step 2 : Preperation of test study report(TSR)


          

               Hardware requirement.
               Software requirement.
               Test bed.
               HR(Human resource).
               Training requirement.
               Recruitment.

     Step 3 : Planning & Administration


              How many hours.

              Execution per day.
              Delivery Weak.
          Diagrams:
               Scaling diagram, PDM. Burndown charts.

     Step 4 : Preparation of Test Plan and Test cases :


      A test plan documents the strategy that will be used to verify and ensure that a product or             system meets its  design specifications and other requirements. Depending on the product       and the responsibility of the organization to which the test plan applies, a test plan may               include one or more of the following:


     Design Verification or Compliance test - to be performed during the development or                    approval stages of the product, typically on a small sample of units.


     Manufacturing or production test - to be performed during preparation or assembly of the            product in an on going manner for purposes of performance verification and quality control.


     Acceptance or Commissioning test - to be performed at the time of delivery or installation of      the product.


     Service and Repair test - to be performed on an existing operational product, to verify that          existing functionality didn't get broken when other aspects of the environment are changed



   Step 5 : Execution of Test Cases :


     A test case in software engineering is a set of conditions or variables under which a  tester        will determine whether an application or software system is working correctly or not. It may          take many test cases to determine that a software program or system is considered                    sufficiently scrutinized to be released.


                  Tool : Quality Center



  Step 6 : Bug Report


   Bug :  " A computer bug is an error, failure, or fault in a product or computer program that          prevents it from working correctly or produces an incorrect result. Bugs arise from mistakes        and errors, made by people, in either a program's source code or its design."


   Life cycle of Bug :


   Log new defect

                      When tester logs any new bug the mandatory fields


  Bug status description :

  These are various stages of bug life cycle. The status caption may vary depending on the bug   tracking system you are using.

  1. New : When QA files new bug.


  2. Deferred : If the bug is not related to current build or can not be fixed in this release or bug     is not important to fix immediately then the project manager can set the bug status as                   deferred.


  3. Assigned : ' Assigned to' field is set by project lead or manager and assigns bug to               developer.


  4. Resolved/Fixed : When developer makes necessary code changes and verifies the             changes then he/she can make bug status as' Fixed 'and the bug is passed to testing team.


  5. Could not reproduce : If developer is not able to reproduce the bug by the steps given in     bug report by QA then developer can mark the bug as 'CNR'. QA needs action to check if bug   is reproduced and can assign to developer with detailed reproducing steps.


 6. Need more information : If developer is not clear about the bug reproduce steps provided  by QA to reproduce the bug, the he/she can mark it as " Need more information". In this case  QA needs to add detailed reproducing steps and assign bug back to dev for fix.


 7. Reopen : If QA is not satisfy with the fix and if bug is still reproducible even after fix then QA  can mark it as ' Reopen ' so that developer can take appropriate action.


 8. Closed : If bug is verified by the QA team and if the fix is ok and problem is solved then QA  can mark bug as ' Closed '.


 9. Rejected/ Invalid : Some times developer or team lead can mark the bug as Rejected or  invalid if the system is working according to specifications and bug is just due to some  misinterpretation.


 Bug reporting Tools : JIRA, BUGZILLA



Step 7: Test Report


Once Testing is completed ,final report  should be generated which should comprise of the following:-


Introduction: about the application.

Objectives: set/specified in the test plan.
Approach: summary of the steps followed in conducting the test.
Analysis and Results: is a brief explanation about the results and the analysis of the report.
Conclusion: the repot should be concluded by telling whether the objectives set before the test is met or not.


 
SOFTWARE DEVELOPMENT LIFE CYCLE [SDLC] :
Software Development Life Cycle, or Software Development Process, defines the phases in the building of software.
There are various kinds of software development models like:
  • Waterfall model.
  • Spiral model.
  • Iterative and incremental development .
  • Agile development .
SDLC IN SUMMARY
  • Project Planning
  • Requirements Development
  • Estimation
  • Scheduling
  • Design
  • Coding
  • Test Build/Deployment
  • Unit Testing
  • Integration Testing
  • User Documentation
  • System Testing
  • Acceptance Testing
  • Production Build/Deployment
  • Release
  • Maintenance
SDLC IN DETAIL
  • Project Planning
    • Prepare
    • Review
    • Rework
    • Baseline
    • Revise [if necessary] >> Review >> Rework >> Baseline
  • Requirements Development[Business Requirements and Software/Product Requirements]
    • Develop
    • Review
    • Rework
    • Baseline
    • Revise [if necessary] >> Review >> Rework >> Baseline
  • Estimation[Size / Effort / Cost]
    • <same as the activities/tasks mentioned for Project Planning>
  • Scheduling
    • <same as the activities/tasks mentioned for Project Planning>
  • Designing[ High Level Design and Detail Design]
    • <same as the activities/tasks mentioned for Requirements Development>
  • Coding
    • Code
    • Review
    • Rework
    • Commit
    • Recode [if necessary] >> Review >> Rework >> Commit
  • Test Builds Preparation/Deployment
    • Build/Deployment Plan
      • Prepare
      • Review
      • Rework
      • Baseline
      • Revise [if necessary] >> Review >> Rework >> Baseline
    • Build/Deploy
  • Unit Testing
    • Test Plan
      • Prepare
      • Review
      • Rework
      • Baseline
      • Revise [if necessary] >> Review >> Rework >> Baseline
    • Test Cases/Scripts
      • Prepare
      • Review
      • Rework
      • Baseline
      • Execute
      • Revise [if necessary] >> Review >> Rework >> Baseline >> Execute
  • Integration Testing
    • <same as the activities/tasks mentioned for unit testing>
  • User Documentation
    • Prepare
    • Review
    • Rework
    • Baseline
    • Revise [if necessary] >> Review >> Rework >> Baseline
  • System Testing
    • <same as the activities/tasks mentioned for Unit Testing>
  • Acceptance Testing[ Internal Acceptance Test and External Acceptance Test]
    • <same as the activities/tasks mentioned for Unit Testing>
  • Production Build/Deployment
    • <same as the activities/tasks mentioned for Test Build/Deployment>
  • Release
    • Prepare
    • Review
    • Rework
    • Release
  • Maintenance
    • Recode [Enhance software / Fix bugs]
    • Retest
    • Redeploy
    • Rerelease
Notes:
  • The life cycle mentioned here is NOT set in stone and each phase does not necessarily have to be implemented in the order mentioned.
  • Though SDLC uses the term ‘Development’, it does not focus just on the coding tasks done by developers but incorporates the tasks of all stakeholders, including testers.
           
***********************************<><><><><>********************************** 
          


             

             
                                     



   

       

REST API

  API  is an application programming interface. It is a set of rules that allow programs to talk to each other. The developer creates the AP...