Sunday, January 27, 2013

Responsibilities Of a Manual Tester


  1. Understanding all requirements of a project or product.
  2. Understanding testing requirements related to the current project / product.
  3. Assist test lead during test planning.
  4. Writing test scenarios for responsible modules and responsible testing topics by using "Black box techniques".
  5. Follow IEEE 829 standards while documenting test cases with required test data and test environment,
  6. Involve in test cases review meeting along with the test lead.
  7. Involve in smoke testing on initial software build
  8. Execute test cases by using test data on SUT in test environment to detect defects.
  9. Involve in defect reporting and tracking
  10. Conduct Retesting, Sanity testing and Regression testing on every modified SUT to close bugs.
  11. Strong in SQL to connect to SUT database while testing.
  12. Involve in final regression testing on final SUT during test closure
  13. Join with the developers to do acceptance testing to collect the feed back on software from the real customers / model customers
  14. Assist test lead in RTM preparation before signoff from the project / product

Testing stages or Phases (Release Testing)


6) Release Testing 
  • After completion of acceptance, corresponding project management can select few developers and few testers along with few hardware engineers to go to real customer site or license purchased customer site for software release. The remaining developers and testers in the team can go to bench ( wait for next project ).
  • The selected developers and testers chosen for release of software are called as release team or onsite team or delivery team. 

This team performs the tasks mentioned below in the corresponding customer site

I. Complete installation of software. 
II. Verify overall functionality of software. 
III.  Support from input devices ( Keyboard, mouse, . . .) 
IV.  Support from output devices ( monitor, printer, . . .) 
V.  Support from operating system and other system software's. 
VI.  Co-existence with other software's. 
VII.  Support from secondary storage devices ( external hard disk, pen drive, cd drive ) 

The tasks mentioned above are referred as green box techniques. 
After completion of above observations in customer site, corresponding release team can conduct training sessions for end users or customer site people. At the end, release team will come back from customer site and go to bench. 




Testing Stages or Phases (Maintenance Testing)


7) Maintenance Testing

During utilization of a software, customer site people send change requests to corresponding company or organization. Which means fixing done by enhancements called as Software Change Request(SCR).
To handle those change requests, project management establishes a team called CCB ( Change Control Board ) 
CCB members have both development and testing skills.
Note : Depends on the software failures in customers site, project manager can define the efficiancy of testing team.
Testing Team efficiancy  or bug removal efficiancy: = A/A+B
A -> No. of bugs found in software during testing.
B -> No. of failures of software during maintenance.
software change request scr
This testing involves Grey Box Techniques ( White Box + Black Box ) 

Case Study:
case study of all testing stages or phases

                                               Fig: Case Study of all Testing Stages or Phases

Note: From above case study, test engineers are conducting software testing and involving in acceptance testing. Some selected testers will goto onsite for release testing also.




Software Test Closure

After completion of all test cycles, corresponding test lead can conduct a review meeting with selected testers. In the review meeting, testing team discuss below factors.

1) Coverage Analysis

a) Module wise coverage.
b) Testing topic wise coverage.

2)Stability in software:

Stability of a software indicates, in 20% of testing we can find 80% of bugs and in 80% of testing we can find 20% of bugs.

3) Calculate Bug density:

Modules in SUT              % of bugs
--------------------------------------------------      
      A                                         20
      B                                         20
      C                                         40----------------> Final regression testing
      D                                         20
                                           ------------
                                                100 % of bugs     
                                           -----------

Note: Testing team can re-execute test cases related to high bug density modules on final SUT for "Golden bugs" to detected. This testing is called as "Final regression" testing or Post mortem testing or Pre- acceptance testing or confidence testing. If golden bug was found then testing team will request the developers to fix as early as possible or request customer site people for later patch release.

4) Analysis of differed bugs:

This analysis indicates, whether differed bugs are postponable or not.

The above four points called as "Exit criteria".


  • Acceptance testing: After completion of software test closure, testing team will join with development team to collect feedback from customer site people in alpha an beta testing manner. If any changes were needed in final software, development team can perform changes and testing team can review those changes for completeness and correctness.
  • Sign off: After completion of acceptance level, test lead can role off testers and team lead can roll off developers from current project / product. PM can role off test lesd and team lead from current project or product after receiving final summary report. 
  • In software testing final summarry report is called as Requirement Tracability Matrix(RTM).
 Requirement Tracability Matrix (RTM):



Example:











Testing Stages or Phases (Acceptance Testing)


5) Acceptance testing 

After completion of Software testing, corresponding project manager concentrates on acceptance and acceptance testing. In this stage, developers and testers are also involved either directly or indirectly to collect the feedback from the real customer in project and model customers in product. 
      Due to this reason,project acceptance is called as  Alpha Testing and product acceptance is called as Beta Testing which will be explained as below:


Testing Stages or Phases (Acceptance Testing)

From this acceptance testing, project management is getting an idea on changes to be needed in the developed software w.r.t changes needed by the customers. 
if changes are needed, then developers are performing the corresponding changes in that software and testers are approving those changes for completeness and correctness. 





Testing Stages or Phases (Integration Testing)


3) Integration Testing 

After completion of related Programs Writing and Unit Testing, corresponding Programmers can Integrate those Programs and conduct Integration Testing.Integration means connecting the two programs.While integrating programs, programmers follow any one of the approaches mentioned below :

a) Top - Down Approach:
In this approach, programmers are integrating programs with some modules.Because remaining sub modules are under construction.In the place of under constructive sub modules programmers can use the STUB. 
top down approach


STUB: STUB is a temporary program to send back run control to main module, instead of under constructive sub module. 

b) Bottom - Up Approach: 
In this approach, programmers are integrating sub modules without involvement of under constructive main module. In the place of under constructive main module programmers can use the DRIVER. 
bottom up approach


 DRIVER: DRIVER is a temporary program that is used instead of under constructive main module. 

c) Sandwich Approach: 
The combination of top - down & bottom - up approaches is called as Sand witch Approach or Hybrid approach . 
sandwich approach


Note : The 3 approaches i.e., top down approach,bottom up approach and sandwich approach mentioned above are also called as Incremental Integration approaches. 

d) System Approach or Big Bang Approach: 
In this Approach, Integration will be starting only after complete 100% Coding is done. ( There should be no  STUB or DRIVER in this Approach ) 
  • Driver programme is also called as calling program.
  • Stub programme is also called as called program.





Testing Stages or Phases (Software Testing)

4) Software Testing

From Fish,V, and Agile model, a seperate testing team is available for testing to validate a software w.r.t customer requirements and expectations.
Testing Stages or Phases (Software Testing)

1. Functional Testing 

In general, a seperate testing team job can start with functional testing to validate the customer requirements in Software Under Testing (SUT) and it is a mandatory testing topic in software testing. This functional tsting is classified into below software tests:

a) GUI testing ( Graphical User Testing ) / Control flow testing / behavioral testing 

During this testing tester can operate each object in every screen to validate that object is operatable or not. Which means that, testing whether the software screens are behaving / responding correctly or not while navigation ( operating them ). 
       In simple terms, GUI testing means that software is operatable or not.

b) Input Domain Testing 

During this testing , testing team can validate the correctness of size and type of every input object in every screen of Software Under Testing  (SUT).
        In simple terms,input domain testing  means that, testing whether software screens are taking correct inputs or not. 

c) Error handling testing

During this  test, testing team can operate full screen of SUT by giving invalid data to objects to get error messages or prompt messsages.
        In simple terms Error handling testing means ,whether software screens are returning error messages or not when we operated those screens in wrong manner. 

d) Manipulations testing 

During this  test, testing team can operate each screen of SUT by giving valid data to objects to get exact outputs w.r.t to given inputs.
         In simple terms , manipulation testing means that ,Testing whether software screens are proving correct outputs or not with respect to given inputs. 

e) Database testing ( back end ) 

Testing whether software screens are storing and manipulating data in the database corresponding  to opertrations performed in the front end. Which means  perform operations on Frontend - Observation on Backend 

         In simple terms, new data correctly inserted or not. and exixting data corretly modidfied or not w.r.t new data in the database.
  • Data Validation : New data correctly stored or not. 
  • Data Integrity    : Due to New Data Storage, Existing related Data got Modified or not. 

Note : In the Above Functional Testing Topics, first 4 Sub-Tests are considered as Frontend Testing or Screens Testing. Database Testing Topic is called as Backend Testing. 

f) Data volume testing 

This testing is also called as "Memory testing" or "Data capacity testing". During this test, testing people can insert the model data or real data from the front end screens to the back end database of SUT until corresponding database is full.


Testing Stages or Phases (Software Testing)
g) Intersytem testing or SOA testing

Sometimes our SUT is able to connect to other software via network to share external database. This type of sharing services testing is also called as Intersystem system testing /  SOA testing / web services testing / Interoperability testing / end to end testing.


  • Due to Globalization in the world, Companies are using Inter Connecting Software's to Share Resources. 
  • Software's that are helping the Software's are called as Service Oriented Software's. 
  • Software's that are using the Services of other Software's are called as Service Utilizers. 
Difference between Intersystem Testing and Integration Testing 
  • Testing Module to Module of 2 Different Software's is Inter System Testing 
  • Testing Module to Module of same Software is Integration Testing. 
2. Non - Functional Testing 

After Completion of Functional Testing, corresponding Testing Team is concentrating on Non Functional Testing to validate the customers expectations. so, thats why this type of testing is also called as "expectations testing". 
         During this testing team can concentrate on characteristics of software like usability, performance, compatibility, installation and etc. Due to this reason, this Non Functional Testing is also called as "Characteristics testing". 
        And without complete development of software this non functional testing cannot be performed. so we need a whole system to test. so, thats why this Non Functional Testing is also called as "System testing". 
In non functional testing, we have 10 sub tests as mentioned below. 

a) Usability Testing 

During this test, testing team is concentrating on the following expectations from corresponding SUT. 
SUT 
Software under Testing. 
* Ease of Use. 
* Look and Feel. 
* Short Navigations. 
* Understandable HELP ( User Manuals - HELP Documents of that Software ) 

b) Compatibility Testing 

This Testing is also called as Portability Testing. 
During this Test, Testing Team can operate SUT in various customer expected platforms. 
Here, Platform means Computer Operating System, Browsers and other System Software's. 

c) Hardware Configuration Testing 

This Testing is also called as Hardware Compatibility Testing . 
During this Test, Testing Team can confirm whether our SUT supports Hardware Devices belonging to Different Technology or Not. 
Example 
Different Types of Networks 
Different Types of printers 
Different Types of scanners
Different Types of fax machines, . . . 

Example - 1:
HW Configuration Testing















Example - 2:
HW Configuration Testing
d) performance testing

Performance testing means that calculate the  speed or find the speed of a software, testing team can apply load on SUT.
performence testing


The above performance testing is classified into below sub tests:

Load testing: Execution of SUT under customer expected configuration and customer expected load ( number of concurrent users ) to estimate the speed in processing  is called as "Load Testing". We can use the load runner tool to measure  this load.

Stress testing : Execution of SUT under customer expected configuration and more than customer expected load to estimate peak load ( maximum load, the project can handle )  is called as " stress Testing"

Spike testing : Execution of SUT under customer expected configuration and huge load   is called as "Spike Testing"

Endurance testing : Execution of SUT under customer expected configuration and customer expected load repeatedly long time without any memory leakages is called as endurance testing or soak testing or longivity.

e) Security Testing:This testing  is also called as penetration testing. During this testing, testing can conduct on below three sub tests on SUT:
i) Authorization / Authentication testing: It means that that the software is allowing valid users and prevent invalid users or not. 

ii) Access control testing: It means that whether valid user is having the permissions to access the certain functionality or not.

iii) Encryption Decryption testing: It means that whether our client process and server process are using typical encryption and decryption process or not. To conduct this test one needs to have knowledge of hacking and organizations can try to recruit hacking knowledge people with  working bond (e trust people). 
encryption decryption testing


h) Multi languity testing : During this test, testing team is validating SUT functionalities by entering inputs in various languages, when that software screens are developed in Java or .Net or other Unicode technologies. 
There are two ways in multi languity testing :
1) Localization 
2) Globalization

i) Installation testing : During this test, testing team is checking whether the software is easy to install on customer expected configured system or not. 
installation testing


  • " setup" program execution to start initialization. 
  •  easy screens during installation. 
  •  occupied disk space after installation. 
  •  easy to un install 


Note - 1 : Non functional tests except usability testing are expensive to conduct.

Note - 2 : Security testing to conduct testers will need the hacking knowledge.so, this test will not be conducted.

Note - 3 : Multilanguity testing to conduct testers will need multiple people languages or knowledge on atleast on language conversion tool. so, this test will not be conducted.

Note - 4 : (Parallel testing) When our software is product, testing team can compare our software with previous versions of the same software and with competitive product in market to find weakness and strengths.so, this testing is called as competitive testing or comparison testing.  And this testing is called as "Parallel Testing".

Note - 5 : (Compliance Testing) During software testing, management can test testing the teamwork to conform that whether testing team can finish testing at right time or not. And whether the developed software is meeting the testing standards and quality or not. This managemental testing is called as "Compliance testing".
Due to this reason reason management people will work as QA people and testers will  as QC people.






Recommend on Google

 

Followers

Popular Posts