Showing posts with label Software Testing. Show all posts
Showing posts with label Software Testing. Show all posts

NVQ Level 5 Software Testing past papers 2014 Questions and Response

Question-1


01. Explain software testing why is it important to conduct the testing of software




 # Software testing is performed to verify that the completed software package functions according to the expectations defined by the requirements/specifications.
  • Finding defects which may get created by the programmer while developing the software.
  • Gaining confidence in and providing information about the level of quality.
  • To make sure that the end result meets the business and user requirements.
  • To ensure that it satisfies the BRS that is Business Requirement Specification and SRS that is System Requirement Specifications.
  • To gain the confidence of the customers by providing them a quality product.

02. What is the purpose of acceptance testing? Explain it briefly


# Acceptance testing, a testing technique performed to determine whether or not the software system has met the requirement specifications. The main purpose of this test is to evaluate the system's compliance with the business requirements and verify if it is has met the required criteria for delivery to end users.



03. Describe in detail the importance of validation process of software  development


  • Determining if the system complies with the requirements and performs functions for which it is intended and meets the organization’s goals and user needs.
  • Validation is done at the end of the development process and takes place after verification's are completed.





Question- 2



01. Who are the responsible persons to do the following types of testing


  1.  System testing
  2.  Acceptance testing (Ans user/customer)
  3.  Integration testing (Ans Developer)
  4.  Unit testing (Ans Developer)


02. Which test cases are written first: white boxes or black boxes ?explain your answer in brief


  • Normally black box test cases are written first and white box test cases later. In order to write black box test cases we need the requirement document and, design or project plan. All these documents are easily available at the initial start of the project. White box test cases cannot be started in the initial phase of the project because they need more architecture clarity which is not available at the start of the project. So normally white box test cases are written after black box test cases are written.

  • Black box test cases do not require system understanding but white box testing needs more structural understanding. And structural understanding is clearer in the later part of project, i.e., while executing or designing. For black box testing you need to only analyze from the functional perspective which is easily available from a simple requirement document.




 03. Explain the v model of the software testing



  • #Under V-Model, the corresponding testing phase of the development phase is planned in parallel. So there are Verification phases on one side of the .V. and Validation phases on the other side. Coding phase joins the two sides of the V Model


Question- 3



01. List down three (03) test case techniques used in software testing




Low Level
  • Boundary Value Analysis (BVA)
  • Equivalence Partitioning (EP) 
  • Special Value (SV)
  • Error Based (EB) 
  • I/O Domain

 High Level
  • Decision Table (DT) 
  • Flow Chart (FC)

02. Write down five (05) best possible test case for a login system in yahoo page


 #For testing the log-in page following are the possible scenarios:

  1.  The design of login page is as per the specifications
  2.  When the login page is opened the cursor is on the user name text box
  3.  Validating the user name text box with the following conditions:
                i. It accepts alphanumeric characters along with the special characters
               ii. Checks whether only the special characters like _, space, - are allowed
              iii. It accepts when only alphabets are given
              iv.  It does not accepts the numeric values alone
               v.  It does not accepts the void or null values
              vi. When tab is pressed it goes to the password text box
             vii. Checks whether the user name entered is available in the data base after the tab key is                          pressed
           viii.   Error message thrown for the wrong entry of user name
             xi. When OK button in the error message is clicked the cursor should be on the
                     user name text box

        4. Validating the password text box with the following conditions:

                i. Should allow the entry of alphanumeric and special characters
               ii. When the entry is made it should encrypt and display as "*" to the users
              iii. When tab or entry key is pressed it should go to the next page of the
                    browser
              iv. When wrong password is entered and does not matches with the values in
                   the database the error message is thrown
               v. When OK button in the error message is clicked the cursor should be on the
                   user name text box

  There may be more possible scenarios for testing this page....but these were the most common  ones.



03. Explain the purpose of static Analysis. 




  • Static analysis tools are generally used by developers as part of the development and component testing process. The key aspect is that the code (or other artifact) is not executed or run but the tool itself is executed, and the source code we are interested in is the input data to the tool.
  • These tools are mostly used by developers.
  • Static analysis tools for code can help the developers to understand the structure of the code, and can also be used to enforce coding standards.


Question- 4


01. What are the stages in the fundamental test process 



 Testing is a process rather than a single activity. This process starts from test planning then designing test cases, preparing for execution and evaluating status till the test closure. So, we can divide the activities within the fundamental test process into the following basic steps:




                   1) Planning and Control

                   2) Analysis and Design
                  3) Implementation and Execution
                  4) Evaluating exit criteria and Reporting
                  5) Test Closure activities

02. Briefly explain the test analysis and design techniques




   Test analysis and Test Design has the following major tasks:
  1.  To review the test basis. (The test basis is the information we need in order to start the test analysis and create our own test cases. Basically it’s a documentation on which test cases are based, such as requirements, design specifications, product risk analysis, architecture and interfaces. We can use the test basis documents to understand what the system should do once built.)
  2.  To identify test conditions.
  3.  To design the tests.
  4.  To evaluate testability of the requirements and system.
  5.  To design the test environment set-up and identify and required infrastructure and tools.

03. Describe the difference between regression testing and confirmation testing 


 Re-Testing: After a defect is detected and fixed, the software should be retested to confirm that the original defect has been successfully removed. This is called Confirmation Testing or Re-Testing

 Regression testing: Testing your software application when it undergoes a code change to ensure that the new code has not affected other parts of the software.


Question- 5


01. What is the difference between alpha and beta testing



  • Alpha testing is a type of acceptance testing; performed to identify all possible issues/bugs before releasing the product to everyday users or public. The focus of this testing is to simulate real users by using black-box and white-box techniques. The aim is to carry out the tasks that a typical user might perform. Alpha testing is carried out in a lab environment and usually the testers are internal employees of the organization. To put it as simple as possible, this kind of testing is called alpha only because it is done early on, near the end of the development of the software, and before beta testing.

  • Beta Testing of a product is performed by "real users" of the software application in a"real environment" and can be considered as a form of external user acceptance testing.Beta version of the software is released to a limited number of end-users of the product to obtain feedback on the product quality. Beta testing reduces product failure risks and provides increased quality of the product through customer validation.




02. What does entry and exit criteria mean in a project? Explain them briefly

  • #Entry criteria – It ensures that the proper environment is in place to start test process of a project e.g. All hardware/software platforms are successfully installed and functional, Test plan, test case are reviewed and signed off.

  • #Exit Criteria - It ensures that the project is complete before exiting the test stage.E.g. Planned deliverable s are ready, High severity defects are fixed, Documentation is complete and updated.

03. “Functional and non-functional testing are important in accepting the system by system owners”. Justify this statements with relevant facts.


  • #To the end system installation, development, usability, sanity, smoke, regression, destructive, recovery, automated, user Acceptance, Compatibility, Performance, Security and Accessibility are very important to the user that what the above statement is true these operations are under the Functional and non-functional testing
  • #To the end validating the performance of application also important to the owners.

                                                                                                             2015past paper

2014 PDF -link 1     link 2


NVQ Level 5 Software Testing past papers 2015 Questions and Response

Question 1

     1.  What is the main purpose of conducting a software testing process in         developing a software




Software testing is performed to verify that the completed software package functions
according to the expectations defined by the requirements/specifications.

  •  Finding defects which may get created by the programmer while developing the software. 
  •  Gaining confidence in and providing information about the level of quality.
  •  To make sure that the end result meets the business and user requirements.
  •  To ensure that it satisfies the BRS that is Business Requirement Specification and SRS that is   System Requirement Specifications.
  •  To gain the confidence of the customers by providing them a quality product.


     2.What are the reasons to have the bugs in developing software? Briefly explain the four reasons





  •       Miscommunication or no communication
                                        Success of any software application depends on communication between stakeholders, development and testing teams. Unclear requirements and misinterpretation of requirements are two major factors causing defects in software. Also defects are introduced in development stage if exact requirements are not communicated properly to development teams.

  •       Software complexity
                                       The complexity of current software applications can be difficult to comprehend for anyone without experience in modern-day software development. Windows-type interfaces, client-server and distributed applications, data communications, enormous relational databases, and sheer size of applications have all contributed to the exponential growth in software/system complexity. And the use of object-oriented techniques can complicate instead of simplify a project unless it is well-engineered.

  •      Programming errors
                                       Programmers, like anyone else, can make mistakes. Not all developers are domain experts. Inexperienced programmers or programmers without proper domain knowledge can introduce simple mistakes while coding. Lack of simple coding practices, unit testing, debugging are some of the common reasons most issues get introduced at development stage. 

  •      Changing requirements
                                       The customer may not understand the effects of changes, or may understand and request them anyway – redesign, rescheduling of engineers, effects on other projects, work already completed that may have to be redone or thrown out, hardware requirements  that may be affected, etc. If there are many minor changes or any major changes, known and unknown dependencies among parts of the project are likely to interact and cause problems, and the complexity of keeping track of changes may result in errors.Enthusiasm of engineering staff may be affected.

  •     Software development tools
                                       Visual tools, class libraries, compilers, scripting tools, etc. often introduce their own bugs or are poorly documented, resulting in added bugs. Continuously changing software tools used by software programmers. Keeping pace with the different versions and their compatibility is a major ongoing issue.

  •     Lack of skilled testers
                                     Having skilled testers with domain knowledge is extremely important for success of any project. But appointing all experienced testers is not possible for all companies. Domain knowledge and the tester’s ability to find defects can produce high quality software. Compromise on any of this can result in buggy software.



   3.Explain the role of the developer in developing an error free software as the member of the development team





Question 2

      1.What are the steps of basic test process in the software testing 





  •  Planning and Control
  •  Analysis and Design
  •  Implementation and Execution
  •  Evaluating exit criteria and Reporting
  •  Test Closure activities    

     2.Briefly explain the test implementation and execution in a software process



  •  During test implementation and execution, we take the test conditions into test cases and procedures and other test ware such as scripts for automation, the test environment and any other test infrastructure. (Test cases is a set of conditions under which a tester will determine whether an application is working correctly or not.)  

     3.Explain in details the implementation methods of software application

  •  Test implementation has the following major task:
         I) To develop and prioritize our test cases by using techniques and create test      data for those tests. (In order to test a software application you need to enter some data for testing most of the features. Any such specifically identified data which
is used in tests is known as test data.)

We also write some instructions for carrying out the tests which is known as test
procedures.
We may also need to automate some tests using test harness and automated tests scripts.

(A test harness is a collection of software and test data for testing a program unit by
running it under different conditions and monitoring its behavior and outputs.)

        II) To create test suites from the test cases for efficient test execution. (Test suite is a collection of test cases that are used to test a software program to show that it has some specified set of behaviors. A test suite often contains detailed instructions and information for each collection of test cases on the system configuration to be used during testing. Test suites are used to group similar test cases together.)

       III) To implement and verify the environment.






Question 3

       1.What is STLC? List down all the steps of STLC?





  • Software Testing Life Cycle STLC
  • Software Testing is not a just a single activity. It consists of series of activities carried
  • out methodologically to help certify your software product. These activities (stages)
  • constitute the Software Testing Life Cycle (STLC).

The different stages in Software Test Life Cycle -


 



     2.Briefly explain the first three test levels used in software testing





     3.Write short notes on the following terms 


     a. Alpha testing
                Alpha testing is done at the developers site. It is done at the end of the development process

     b. V model
                 Under V-Model, the corresponding testing phase of the development phase is planned in     parallel. So there are Verification phases on one side of the .V. and Validation phases on the other   side. Coding phase joins the two sides of the VModel.




     c. Verification of software

                Verification is the process of evaluating work-products of a development phase to determine whether they meet the specified requirements.


verification ensures that the product is built according to the requirements and design specifications. It also answers to the question, Are we building the product right?

      d. Software bug
                 A software bug is an error, flaw, failure or fault in a software application.




Question 4

     1.What is test plan?.




  • Test planning, the most important activity to ensure that there is initially a list of tasks and milestones in a baseline plan to track the progress of the project. It also defines the size of the test effort. 
  • It is the main document often called as master test plan or a project test plan and usually developed during the early phase of the project.
    

   2.What type of errors can be tested from Black box Testing? Explain them       briefly




  •    Black box testing: Testing, either functional or non-functional, without reference to the internal     structure of the component or system.

1. Incorrect or missing functions 
2. Interface errors 
3. Errors in data structures or external database access 
4. Behavior or performance errors 
5. Initialization and termination errors



   3.Compare the functional and non-functional testing in a system 










Question 5

     1. List out 5 components of a Test Plan



 1. Background (platform) 
 2. Test Items (Programs/modules) 
 3. Features to be tested
 4. Features not to be tested
 5. Approach 5. Item pass/Fail criteria 
 6. Suspension/resumption criteria 
 7. Test Deliver ales  
 8. Testing Tasks 
 9. Environmental needs 
10. Schedule 
11. Resources 
12. Risks  
13. Approvals




    2.Write 2 differences between walk through s and inspections 







  • Inspection: is used to verify the compliance of the product with specified standards and requirements. It is done by examining, comparing the product with the designs, code, artifacts and any other documentation available. It needs proper planning and overviews are done on the planning to ensure that inspections are held properly.



  • Walkthroughs: Author presents their developed artifact to an audience of peers. Peers question and comment on the artifact to identify as many defects as possible. It involves no prior preparation by the audience. Usually involves minimal documentation of either the process or any arising issues. Defect tracking in walkthroughs is inconsistent.


   3.What is the main reason to perform regression Testing 


  • Regression means retesting the unchanged parts of the application. Test cases are re-executed in order to check whether previous functionality of application is working fine and new changes have not introduced any new bugs. This test can be performed on a new build when there is significant change in original functionality or even a single bug fix.


2014Past paper

2015 PDF - Link 1   Link 2