Test cases And Scenarios

Whenever you are testing some Software, there should be some organized approach. Otherwise, there will be no uniformity in testing. And to maintain the uniformity test cases are built.


One can test software in any possible way. identifying the way software is tested is called Scenarios.


This is an overview of The topic, Definition is given Below.


Test cases- It consists of Detailed Steps, what needs to be followed in order to perform to testing.

Scenarios- It is a high-level description of what needs to be tested.
Example- compose an Email.
Delete an Email from Inbox
Save the Email in Draft.
Now, every scenario is converted into test cases.
note: For a particular scenario we can right Several Test cases.

➤Where to write a test case templet?
Test cases are Written in excel word document.

➤How the Test cases look?


Test cases



27 Keyboard Shortcuts and Tricks 
That'll Save You Lots of Time.



What is Performance Testing? Types of Software Testing


➽ What is Performance Testing?

➺ Testing the Stability and Response time Of the Application by Applying Load on it is called Performance Testing.
Response time = Time is taken to send the Request + Time taken to the processing+ Time taken to get the Response Back.

Load: Total no of users Accessing the Application at a given point of Time is called as Load.


With this, we get to know What is Performance Testing. 




➽ Does Performance Testing fall under Functional or Non-Functional Requirement?
 There are Two Types Requirement- Functional Requirement, And Non-Functional Requirement.

Performance Testing is Classified under Non-Functional Testing Type.

To understand That Better, we should no what is Functional Testing? 

 In Functional Testing, requirements are to test the action or behavior of the fields in Software. 
Integrational Testing, Smoke Testing, System Testing etc all come under Functional Testing.

And what is Non-Functional Testing? 

➺ In Non-Functional Testing, requirements are to test How Quick and how much load can be handled by Software. 
for example - Car, now here Functionality of car is to Reach you from one place to Other and Performance is how well its Comforts you, how much Average it gives, Having good pickup or not? and rest you know.




➽ Can we perform Performance Testing?

➺ YES.



➽ How Do we do Performance Testing?

However, Performace Testing falls under Non-Functional Requirement. 
The client will clearly specify the Requirement of testing.
With that requirement, we have to test. The requirement can be to run the application by thousands of user and test speed of opening the site or anything. so now for this, any company will not Recruit thousands of Testers, that means manually it can't be done. So here the concept called virtual users is introduced. This is done by an Automated Tool which is so simple to work on. we can use some tools which are been listed below. where we can generate Virtual users and connect it to the server. Now after installing this tool in the computer, click on Record and record the Steps to be Followed by URL > Username >Password > Wait for 2 min then > Quit. After Recording the Steps, Press Play button. Now This Tool will generate Users called as virtual users and they will follow the Recorded Steps. After this, every virtual user will request to the server. The server will process the request and Send the Response Back. The Tester can Analyse from the Graph which is present on that. This is how Testers are doing Performance Testing. This is less Expensive to Perform Performance testing than Recruiting that much Employees.




➽ Types of Performance Testing

  • Load Testing: Testing the stability and Response time of the Application by applying load which is less than or equal to defined numbers of users.

  • Stress/Torture Testing: Testing the Stability and Response time of the Application by Applying Load more than the Defined number of users. And We keep Applying the load as long as the application does not crashes.

  • Volume Testing: Here we Transfer huge Volume of Data from one Location to Another, and we check did this happens in a specified amount of time. To perform volume testing there are no Ready-made tools Available, we Develop Scripts in order to perform this.

  • Soak/Endurance Testing: Testing the stability and response time of the application by Applying load continuously (48hrs, 72hrs, 96hrs etc) for a particular period of time and making sure that we do not exceed the number of defined users is called as Soak/ Endurance Testing.

  • Spike Testing:
    The sudden Increase and Decrease of load to check the Performance of the application is called Spike Testing.
What is the scheduling performance test?

Scheduling Performance test is done by virtual Users from any available tools. In here Virtual Users are Set in the Scheduled manner. It can be 10 V-user Every 1 min. This is how we can get the Scheduled Test.







  • ➽ Which Performance Testing Tools are Used : 
    ➺ In order to Perform Performance Testing, we use Tools like 



    What is Performance Testing? Types of Testing | Manual Testing Concepts
    What is Performance Testing? Types of Testing | Manual Testing Concepts

    MANUAL TESTING | Types of Testing: Compatibility Testing


    I was thinking What is the Compatibility Issue? Why it is so important? and What we do Here?

    Testing Functionality of the Software on Different Software and Hardware Platforms is called Compatability Testing. Let's look into What that means and what you need to do about it.

    ➽ What is the Compatibility Issue?



    In 2015 My friend Linda has bought one gaming Software. And after Purchasing that CD she installs that in her Computer followed by Agreement Page. She clicks on I Agree, Next, Next, Next and Finish. It gives her an Error!! Saying "Sorry Unable to Install the Software". Again She tries to Install OS tries to Run that again but still, Same Error Pops up "Sorry Unable to Install the Software".
    Now it's very Obvious to get angry that have bought them for $$$, and what she got was Error! Very Disappointing Right!  
    Now she went back to the store, you Started Yelling at the manager! She Told the Manager that when she Tries, Installation Fails. And you have charged me For $$$ dollars for this not working CD. She was very angry With the Manager.


    manager Reply that I am sorry Madam, let me check that first! And He takes that CD and Follows the steps of Agreement And he was able to Install the Software. He Replies back to Linda Saying "  I'm able to install Cd and Cd is properly Working. I Don't Know What is the problem with your PC". 

    The problem here is the Software Developed is noncompatible with her PC. Where She was Try to install that on Mac Operating System Whereas The Gaming Software Developed was only Compatible to Windows. The Developer, In this case, has not developed the software in a way that will work on all the operating systems.
    To Avoid the Case which happened with Linda, Which can Happen with Anyone out there. Developers Should Develop the software in Such a way that It should be compatible in any Existing OS.
    This can also happen with Browsers. 

    why it is so important?

    Compatibility plays a very major Role in Software  Development. And the Software Will not Reach to the rest of the World who uses Different OS or browsers That the Developer Worked For. Eventually falls Very bad impact on the brand! Which Means Loss of the Company. That means It has to be compatible with Every Platform. When Every user is Happy, the Company gains Maximum Profit.


    ➽ What we(Testers) do Here?

    Now For Detailed Knowledge, To Become Tester One Should Know all the details Regarding it. 
    There are Three types of Software Applications Platforms -

    1. Web Applications:  Any application access in Browser is called as Web App.
    2. Client/Server Based Applications: Like Whats App, This the Best Example OF Client/Server Application.
    3. Stand Alone Applications: Like Ms office where I did not need an internet connection. for example - ms office, VMware, VLC Player etc.

     How to do Compatibility Testing for Web Applications?

    As We know Web Applications Works on Browsers. Suppose I am Developing an Application Called as Amazon. And I get here so many different users who will buy products from that Application. Users might excess Chrome, Firefox, opera, safari etc. Now I cant Have control on Users For their excess. That means it has to work on all the Browsers Like -
    Chrome that too on Different Versions.


    FireFox that too on Different Versions, etc.
    Now to test that in Every browser and their versions. I have to install Every Browser And their Versions. which make my work Hectic. So There is a Tool Which Contains all most all the Browsers, which is available on Google called as Browserstack, Utilu (free) and much more free tools are available. That Saves my time From Installing and uninstalling the Browsers. 
    Summing all, Here we test the functionality of Web applications on Different Browser. This is also called Cross-browser Testing. 

    Examples of Compatibility Related Defects-
    • Images are not Loaded Properly.
    • Overlapping of Text.
    • Change in Colour and Font Size of the Text.
    • Certain Links and Buttons Re not Working.

    ➽ How to do Compatibility Testing for Client/Server Based Applications?

    Imagine that, I am Testing XYZ application in my PC at Home. In my pc, I divided my hard disk in some OS's now I can test the software on different Operation system. but now when I am testing in Companies can I do the same thing? NO !! If I do so if I partitioned big server in many operating systems and now some of my colleagues are also testing on that server. As I have done testing in by restarting my pc and selecting OS. Here if I restart Server, rest all of the colleagues will face the restart. And like this testing will never happen. 

    I want to do Multiple Operating System without Restarting the Server. So how exactly it is done?

    Here is the answer, one base Operating system is there for example- windows 10. In that Server, I will install an application called VMware. Inside VMware, I will install #Window 7, Windows 8, Windows 9 & much more Operating System. Here there is no need of Restating the Server for Switching Operating Systems.
    This Reduce the Testing time by Prevented by Restarting.


    Here we test the compatibility of client Software on different Operating System. To install Multiple Operating System we use VMware. Because I will Help us to change the Operating System Without Restarting the Server. 


    ➽ How to do Compatibility Testing for stand Alone Applications? 

    Here we test The functionality of the software on Multiple Operating System.


    MANUAL TESTING | Types of Testing: Compatibility Testing 

    MANUAL TESTING | Types of Testing: Ad-hoc Testing


    Definition: 

    Here we come up with creative scenarios and then, we test the application based on creative scenarios. 

    we perform ad-hoc Testing when Regular types of testing are not Fetching You Any more Defects. Here we come up with creative scenarios and then, we test the application based on creative scenarios. 
    In Adhoc testing, we never follow the Requirement.
    But then we should know the application to come up with creative scenarios. 

    Session time out and Session:
    Ad-hoc Testing - Tomcat


    For the first time when the request is sent to the server, Server will validate username and Password.
    If it is valid then Server will generate a Session ID. one copy of the session ID will be Maintained in the Server Site. And another ID of session ID will be sent back to the Browser. which will be Further stored inside Cookies Files of the Browser. 

    Every Subsequent request main from the Browser along with the request session ID will be picked up from Cookies file and will be sent to the server.

    The server will Validate the Session ID. If the match happens then, Server will send the Response Back. Finally when the Log Out Is Requested. A request is made to the Server to delete session ID. And the server will no longer Serve the response.

    Session time out is a Timer which We (Developer) set at the server site, wherein if there no request is Sent within the time out then, Session will Automatically Expire. and it will redirect to the Login Page. 

    Example 1- Login to the Application and Leave the Application ideal for a Particular period of Time. after some Time When you interact with the Application, it should Take you back to the login page, if this Doesn't happen then, it means Developer has not Set the Session Time out.

    Example 2- Login to the Application, click on Log out. And then Click on Back Button, Application Should no go back to the previous page. If this happens then ideally it is A Defect.

    Example 3- Login to the Application, And then without logging out close the Browser, When again started the application, even if Restored the pages from history It should Display Log in Page, not the Post log in page. If it Displays Post log in page, then ideally it is A Defect.

    What is Tomcat?

    Tomcat is a Web server which is an HTTP Server and a Servlet Container.
    And All the Http Server uses 8080 Default Port Number. 
    If one wants to make a Static Website, will need an HTTP server. &
    If wants to make Dynamic Website, will need Servlets. 

    note- Apache Tomcat is a Free to Download.
    MANUAL TESTING | Types of Testing: Adhoc Testing

    MANUAL TESTING | Types of Testing: Globalization Testing


    If the application is Developed in Multiple languages then, it is called Globalization Development. Testing an application developed in multiple languages is called Globalization Testing.

    In Globalization Testing, there are two types.
    i18n
    L10n


    Internationalization (I18N): Here we check the right content is displayed or not.

    Example 1: Application Used in the United States should be in English, If there is some other content present with English in other Languages then, it is an Internationalization Defect. like Contact page is in Chinese but the rest of the content is in English.

    Example 2: Application Used in the India should be in English, If there is some other content present with English in other Languages then, it is an Internationalization Defect. like Contact page is in Chinese but the rest of the content is in English.

    To Perform Internationalization Testing we use Google Translator.


    Localization (L10N): Here we check every field in the application is it developed as per the local Country Standard format or not. 

    Example: The date field in India should be in dd/mm/yyyy whereas, the Date field in us should be MM/dd/yyyy whereas, the Date field in China should be in yyyy/mm/dd. 




    MANUAL TESTING | Types of Testing: Globalization Testing
    MANUAL TESTING | Types of Testing: Globalization Testing



    MANUAL TESTING | Types of Testing: Exploratory Testing

    Exploratory Testing

    • Whenever there is no requirement document or there is no time to Read the Requirement or requirement document is missing, Then we explore the application, understand the application, come up with scenarios and then test the application based on those scenarios. 


    OR

    • It is the Simultaneous process of learning and testing the application whenever there is no requirement document or there is no time to read the requirement or requirement document is missing.


    • Performing exploratory testing should be organized. 



    for example - if Someone drops you at the forest. 

    Now, what? There are no ways except Exploring Your way out! But, If you don't know the Place Don't will you get confused. Would I go to Right Direction or Left, Would I go back or follow the path ????  

    That means when We get confused when we get options! Right!! And this way No one can Explore the ways Right!
    Similarly, when we get a Full application to test, we get confused that "From where to start ?".
    when you are put in Time frame, Your focus is high. that you have to do!

    So here managers want the exploratory testing to be done. He gives us the particular Feature to be tested in some time frame.
    And this is called as proving Exploration in a systemic manner. 
    And this is how the Exploratory Testing is Organized and should be Organized.

    • To perform Exploratory Testing, in an organized manner we will take to perform exploratory testing in an organized manner one feature at a time and then we will Time Box the exploration Activity. 




    MANUAL TESTING | Types of Testing: Exploratory Testing
    MANUAL TESTING | Types of Testing: Exploratory Testing

    MANUAL TESTING | Types of Testing: Alpha Testing & Beta Testing.


    In Acceptance Testing, we have got 
    Alpha Testing and Beta Testing.



    What is alpha testing & Beta Testing?

    There are two types of Servers in the companies. We already know Production Server. Production Server is Used by Customers, where Real business is happening.  

    Companies have Dedicated Servers called as UAT (User Acceptance Testing) Servers. In UAT Servers Dummy Business is happening for the purpose of testing.

    Now, why so? 

    ⇒ If you're testing the software in production server, end users are doing acceptance testing in production Servers i.e. Beta Testing.

    Now talking About Beta, You may come across the Beta Release of Google products. They release the product or update as a Beta release in a particular Area. That's because they can get feedback to improve. and their beta testing doesn't harm us in any manner. when they release this product they show the message saying this is Beta release plz if you found any plz let us know. This feedback goes to Developers. 

    But, For Banking application, they cant test in Production Servers As Beta Testing. For money transaction Always Alpha testing is done in UAT Servers. Because they are very Critical. In alpha Testing, Transaction is Dummy. These Testing are done by End Users. UAT Servers are excisable within companies only. Beta servers are globally accessible.



    Alpha Testing:
    Here Few End Users Will start using the software in UAT Servers to find Out Does the software supports, business scenarios or not.
    Example - Banking Applications and etc.


    Beta Testing:

    Here few End Users, well start using the software in production server to find out does the software supports all the required business scenarios or not.


    Example - Google maps, google plus, Whatsapp, Firefox, Microsoft etc.


    MANUAL TESTING | Types of Testing: Alpha Testing & Beta Testing.
    MANUAL TESTING | Types of Testing: Alpha Testing & Beta Testing.


    MANUAL TESTING | Types of Testing: Acceptance Testing / UAT / BAT

    Acceptance Testing



    Acceptance Testing is also called User Acceptance Testing (UAT) and Business Acceptance Testing (BAT).

    Any Product we are purchasing today we firstly Cross verify And then Only we Accept that product. Otherwise, we Reject it. 

    Example 1-  Suppose You are Buying an Apartment. which you have seen in the advertisements. Now, will you Directly purchase by Watching the advertisement? NO, Right!! You, Will, Go and Crosscheck that Whether the Apartment is as I want or not. This is Basically called Acceptance Testing.

    Example 2- Suppose One Shopping Mart Want a billing Software. Till then the mart is having the manual billing system. now they want to upgrade the system. They Will give the Requirement to One of the  Outsourcing Companie. Now When the Software is ready Definitely the customer will cross verify the software. If there is Alteration in that they will report that to the outsourcing Company. After fixing all the Alterations. Finally, the Product is ready to be used widely.

    Based On some Scenarios Acceptance Testing have Four Types. They are as Follows: 


    Type one

    In Acceptance Testing, few End Users will start using the software in Real business. For a particular period of time to find out does the software supports all the required business scenarios or Not.
    Now, what if the End User Don't know how to use the software or Internal IT Department is Small. In that Scenario, type two comes in picture.


    Type two

    Testers of Development Companies will test the software at the client location based on the scenarios gathered from End Users. To find out does the software supports all the required business scenarios or Not.
    Now, what if the Client somehow can't Test at the Client location. In that Scenario, type three comes in picture.


    Type three:

    Testers of Development company will test the software at Development location Based on the Scenarios Gathered from End Users. To find out does the software supports all the required business scenarios or Not.
    Now, what if the Customer has a big IT department itself in their company. In that Scenario, type Four comes in picture.

    Type four:

    Testers of Client Companies will Test the Software at client Location Based on the scenarios gathered from end Users. To find out does the software supports all the required business scenarios or Not.








    MANUAL TESTING | Types of Testing: Acceptance Testing
    MANUAL TESTING | Types of Testing: Acceptance Testing

    MANUAL TESTING | Types of Testing : Smoke Testing

    Smoke testing is also called Sanity Testing or Dry Run or Skim Testing or Initial build verification. 
    The process begins with coding → White Box Testing/Unit Testing → Black Box Testing → Smoke Testing → Functional TestingIntegration Testing → System Testing  Acceptance Testing  Production Server.
    Smoke Testing, Sanity Testing, Skim Testing ,Dry testing, Initial Build Verification


    What is Smoke Testing?




    ⇒ Taking analogy I will explain to you, assume that somehow your Tv Remote is not working. Now, what will you do? Will you start with opening the remote and checking the components inside it? Or will you start with a basic check? Obviously Basic check !!!

    That's because if the battery is down why to open and check in-depth! There is no point of Testing in-depth where the battery is dead. when we do valid testing then it is called High-level Testing And when we do invalid testing then it is called In-depth Testing.
    In smoke Testing ideally, I am going ahead and performing a high-level check before doing In-depth Testing to Find Out is the application Testable. If basic Test fails there is no point of doing in-depth Testing. Because if the basic test fails In-depth testing will also fails. 
    Definition: Testing the Basic Features or Critical Features in an application before doing In-Depth testing in a high-level Manner is called Smoke Testing.
    Example -
    login page
    Example
    In the above login page we will enter a valid username and valid password, if we are able to log in that it means smoke test is passed or failed 

    Note - In smoke testing, we give only valid data and perform testing  I.e we perform only Postive testing 
    Smoke testing Helps us to Find out is the application capable enough to handle in-depth testing. It helps us to find out is the application testable. 





    Interview Question :





    1. A soon as you the build(What is Build? - Build is a part of Application Given to the Tester for testing.) what will you do now?

    ⇒ As soon as we get the build we will start with smoke Testing.   

    2. Do Smoke Test on Fb Application?
    ⇒ I'll Start with the login page Entering only the valid Username and valid Password. If able to log in the smoke test is Passed otherwise failed.

    3. What is the difference between Smoke testing and Sanity Testing?

    ⇒ Both smoke and sanity testing are very much similar except few Differences.

    Both Smoke and Sanity are done in the beginning as soon we get the Build.
    In Smoke Testing Both newly added feature and old Features are tested in a high-level manner. Smoke Testing is Scripted.
    In sanity testing only newly added feature in a high-level manner. Sanity Testing is not Scripted.

    MANUAL TESTING | Types of Testing: Smoke Testing
    MANUAL TESTING | Types of Testing: Smoke Testing



    MANUAL TESTING | Types of Testing : System Testing


    sstem testing

    System Testing is also called as End to End Testing.

    Definition: End to End testing wherein Testing Environment is similar to Production Environment.


    Example 1 - If I compose an email From User ''A'', and save that in the draft, from the draft I will send an email and I will check that in sent items!  Then after that, I will check the inbox of User "B" and I will delete that email and check that in the trash of user "B''.
    If I check all the features are working or not then this is called as End to End  Testing. 



    Example 2 - If I compose an email as User ''A'', and by logging in I spammed that in user "B". And log out. Again logging in User "A" I'll send an email to user "B", and now Email will ideally go to the Spam Box and not to the inbox. Now I'll check that in spam feature of "B" and Delete and should show that email in the trash now!  

    That means Testing From End to End is done, and this is called System testing or End to End Testing. 



    System Testing means are testing more than two Features in an application or almost all the features that how they work.



    Some Related/Interview Questions :

    What is a Test Environment?
    Ans:- Test Environments are used by the testers where dummy transactions are carried out to check the quality of the software.

    What is a Production Environment?
    Ans:- These are the servers used by the Costumers to carry out Real business Transactions. 

    Server

    Server

    server



    Related Topics :


    MANUAL TESTING | Types of Testing: System Testing
    MANUAL TESTING | Types of Testing: System Testing