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.
           
***********************************<><><><><>********************************** 
          


             

             
                                     



   

       

Sunday, 25 August 2013

SBC (Session Border Controller)(RFC5853)

SBC-BASICS















The Session Border Controller (SBC) is a SIP B2BUA entity that is commonly used in the borders of network providers. The SBC receives and processes requests as a UAS, which then regenerates and sends as a UAC. In this way it is acting as an intermediary between the origin and destination of VoIP sessions.

    BACKGROUND Of SBCs : 

    These functions include : 
    a) perimeter defense ( access control, topology hiding, and denial-of-service prevention and detection ) 
    b) functionality not available in the endpoints (NAT traversal, protocol interworking or repair) 
    c) traffic management (media monitoring and quality of service (QoS) ).

    some of these functions may also get integrated into other SIP elements.

    SIP - based SBCs typically handle both signaling and media. SBCs often modify certain SIP headers and message bodies that proxies are not allowed to modify. some SBCs modify the session description carried in the message and insert a Record- Route entry. Other SBCs replace the value of the contact header field with the SBCs address and generate a new Call-ID and new To and From tags.
    An SBCs provides functions such as controlling and protecting access to the inner network from the outer network.

    Peering Scenario : 
    A typical peering scenario involves two network operators who exchange traffic with each other.An originating gateway (GW-A1) in operator A's network sends an INVITE that is routed to the SBC in operator B's network. Then, the SBC forward it to the softswitch (SS-B). The softswitch responds with a redirect (3xx) message back to the SBC that points to the appropriate terminating gateway (GW-B1) in Operator B's network. If operator B does not have an SBC, the redirect message would go to the operator A's originating gateway. After receiving the redirect message, the SBC sends the INVITE to the terminating gateway.

    Access Scenario :
    The SBC is placed at the border between the access network (outer network) and the operator's network (inner network) to control access to the operator's network, protect its components ( media servers, application servers, gateways, etc.) from unauthorized use and DoS attacks, and monitor the signaling and media traffic.

    Topology Hiding :
    Topology  hiding consists of limiting the amount of topology information given to external parties. Operators have a requirement for this functionality because they do not  want the IP addresses of their equipment ( proxies, gateways, application servers, etc.) to be exposed to outside parties.
    The most common form of topology hiding is the application of header privacy , which involves stripping Via and Record-Route headers. replacing the contact header, and even changing Call-IDs. However, in deployments that use IP addresses instead of domain names in headers that cannot be removed ( e.g., From and To headers ) , the SBC may replace these IP addresses with its own IP address or domain name.

     Example :
     The current way of implementing topology hiding consists of having an SBC act as a B2BUA     (Back-to-Back User Agent) and remove all traces of topology information (e.g., Via and Record-Route entries ) from outgoing messages.
                                      Then, the SBC performs a topology hiding function. In this scenario, the SBC removes and stores all existing Via and Record-Route headers, and then inserts Via and Record-Route header fields with its own SIP URI. If the SBC loses state ( e.g., SBC restarts for some reason ), it may not be able to route messages properly(note : some SBCs preserve the state information also on restart). For example , if the SBC removes Via entries from a request and then restarts, thus losing state;  the SBC may not be able to route responses to that request, depending on the information that was lost when the SBC restarted.

    * Media Traffic Management

     General Information and Requirements :    
     Media traffic management is the function of controlling media traffic. Traffic management helps the creation of different kinds of billing models (e.g., video telephony can be priced differently than voice-only calls) and it also makes it possible for operators to enforce the usage of selected codecs.
             Since the media path is independent of the signaling path, the media may not traverse through the operator's network unless the SBC modifies the session description. By modifying the session description, the SBC can force the media to be sent through a media relay which may be co-located with the SBC. This kind of traffic management can be done.

    Architectural issues :
    Implementing traffic management in this manner requires the SBC to access and modify the session descriptions (i.e.,offers and answers ) exchanged between the user agents.

    Example :
    Traffic management may be performed in the following way : The SBC behaves as a B2BUA and inserts itself, or some other entity under the operator's control, in the media path. 
    Consider the following example scenario: the SBC receives an INVITE request from the outer network, which in this case is an access network.

    V=0
    O=Owner 2890844526 2890842807 IN IP4 192.0.2.4
    C=IN IP4192.0.2.4
    m=audio 49230 RTP/AVP 96 98
    a=rtpmap : 96 L8/8000
    a=rtpmap : 98 L16/16000/2

    In this example, the SBC performs the media traffic management

    Fixing Capability Mismatches :   
    SBCs fixing capability mismatches enable communications between user agents with different capabilities or extensions. 
    Example :
    The inner network is an access network using IPv4 and the outer network is using IPv6. The SBC receives an INVITE request with a session description from the access network

    Then, the SBC performs a capability mismatch fixing function. In this scenario, the SBC inserts Record-Route and Via headers and rewrites the "c=" line from the sessions descriptor.

    Maintaining SIP-Related NAT Bindings :
    NAT traversal in this instance refers to the specific message modifications required to assist a user agent in maintaining SIP and media connectivity when there is a NAT device located between a user agent and a proxy/registrar. SBCs NAT traversal function is required in scenarios where the NAT is outside the SBC (i.e, not in cases where SBC it self acts as a NAT).
          Note that the SBC does not need to relay all the REGISTER requests received from the user agent to the registrar. The SBC can generate responses to REGISTER requests received before the registration is about to expire at the registrar. Moreover, the SBC needs to deregister the user agent if this fails to refresh its registration  in time, even if the registrar would still be valid.
    SBCs can also force taffic to go through a media relay for NAT traversal purposes.

    Example :
    The SBC resides between the UA and Registrar. previously, the UA has sent a REGISTER request ot the Registrar, and the SBC receives the registration response.
    when performing the NAT traversal function, the SBC may rewrite the expiry time to coax the UA to re-register prior to the intermediating NAT deciding to close the pinhole. 
                          Naturally, other measures could be taken in order to enable the NAT traversal (e.g., non-SIP keep alive messages), but this example illustrates only one mechanism for preserving the SIP-related NAT bindings.

    Access Control :
    This function can be implemented by protecting the inner network with firewalls and configuring them so that they only accept SIP traffic from the SBC. Access control can be applied to either only the signaling or both the signaling and media. If it is applied only to the signaling, then the SBC might behave as a proxy server. If access control is applied to both the signaling and media.
    A key part of media layer access control is that only media for authorized sessions is allowed to pass through the SBC and/or associated media relay devices.

    Protocol Repair :
    Operators may wish to support protocol repair, if they want to support as many clients as possible. It is noteworthy that this function affects only the signalling component of on SBC, and that the protocol repair function is not the same as protocol conversion.

    Media Encryption :
    SBCs are used to perform media encryption/decryption at the edge of the network. This is the case when media encryption (e.g., Secure Real-time Transport Protocol (SRTP) ) is used only on the access network (outer network) side and the media is carried unencrypted in the inner network.



    Advantages:
    1. Topology hiding
    2. One of the advantages of an SBC is that it can provide topology hiding, which means that it works like a NAT, translating all IP addresses (on IP and SIP level) that the SIP messages contain, between the core (private network) and public side. In this way, the core network can be protected, since it can keep its “identity” private.
    3. Security
    4. An SBC can be considered as a “SIP/RTP Firewall”. It protects the core network from unwanted messages with the help of access-lists (on IP and SIP level) as well as it provides admission control in order to put restrictions in the VoIP traffic (for example restrict the amount of concurrent calls, in order not to overload the network). Such restrictions help also in the protection of the network from attacks, for example DoS attacks. Finally different traffic policies can be applied in order to control better the RTP/media traffic.
    5.  Interoperability
    6. An SBC usually provides the possibility to change/manipulate the SIP messages that are coming through it. That means that an SBC can change the content of the SIP messages by manipulating the SIP or SDP headers. This functionality is particularly useful in order to achieve interoperability between different vendor implementations.



      SIP Call flow without SBC:













    SIP CALL FLOW With SBC:









     

                          



     

Saturday, 24 August 2013

Important Points:

SDP Related


  1.   An SDP session description is denoted by the media type  application/sdp".
  2.    An SDP session description consists of a number of lines of text of the form: <type>=<value>
  3. The "t=" lines specify the start and stop times for a session.      t=<start-time> <stop-time>
  4. Currently defined media are "m" = "audio","video", "text", "application", and "message".
  5. If an agent receives an offer after having sent one, but before receiving an answer to it, this is considered a "glare"condition. Here, it means both agents have attempted to send an updated offer at the same time.
  6. If the answerer has no media formats in common for a particular offered stream, the answerer MUST reject that media stream by setting the port to zero.
  7. When issuing an offer that modifies the session,the "o=" line of the new SDP MUST be identical to that in the previous SDP, except that the version in the origin field MUST increment by one from the previous SDP. 

GSM Technology

* GSM : 

>>     GSM( Global System For Mobile Communication) is an open, digital cellular technology used for transmitting mobile voice and data services.
   >>   GSM network is mainly used for speech.  Basic gsm planning is called Green field planning.These are two types :

  •      Capacity planning : depends on traffic
  •      Coverage planning: depends on coverage Area.
>> Capacity sites are divided into two:

  1.  Micro  (1 sector, 2 sector site)
  2.  Macro (3 sector site)

GPRS :  GPRS(General Packet Radio Services) is an extension of the GSM architecture. packet data runs on a new backbone Ip network and is seperate from the existing Gsm core network. that is used mainly for speech.

* EDGE : GSM networks upgraded with Enhanced Data rates for GSM Evolution (EDGE)  technology can provide up to three times the data capacity of GPRS. It is a new modulation method.Enabling higher data bit rates. 

GSM WORLD: 

>>   Basic cell planning process :
  1.   Traffic and Coverage Analysis.
  2.   Nominal cell plan
  3.   Surveys
  4.   Implementation ( installation, comissioning& Testing )
  5.   System tuning.
>>  Different frequency bands Gsm ( 450/800/900/1800/1900 )

  In India following Bands are used :


                                 Uplink (MHz)                Down link(MHz)

GSM - 800                   8xx-8xx                       8xx-8xx
GSM - 1900                 17xx-17xx                   18xx-18xx
P-GSM   900                8xx-9xx                       9xx-9xx
E- GSM  900                8xx-9xx                        9xx-9xx



GSM ARCHITECTURE:






















MSC ( Mobile Servicing Switching Center ) :

                             The MSC is responsible for set-up, routing and supervision of calls to and from mobile subscribers. other functions are also implemented in the Msc, such as authentication.

* VLR ( Visitor Location Register ) : 
                             VLR is a data base containing information about all MSc's that currently are located in the Msc service area. when MS roams into a new Msc Service area.the VLR connected to that Msc requests data about the MS from the HLR and stores it.

* SMS-GM SC(Short message service-Gateway Msc) :

                          A SMS-GMSC is capable of receiving a short message from a service center, interrogating an HLR for routing information and message waiting data and delivering the short message to MSC of the receiving MS.

SMS- IWMSC (Short message service-interworking MSC) :

                         It is capable of receiving a mobile oriented message from Msc and submitting the message to the receipents sc.

* GMSC (Gateway Msc) : 

                        The GMSC supports the function for routing incoming calls to the Msc where the mobile subscriber is currently registered.

* IWU (Inter Working Unit) : 

                       The IWU provides an interface to various networks for data communication. Its main functions include modem and fax adapter. This functionality is implemented in DTI ( Data Transmission Interworking unit).

HLR (Home Location Register) : 

                        HLR is a database holding information about all subscribers belonging to PLMN (Public Land Mobile Network). In PLMN there is one or more HLRs.

* AUC (Authentication center) : 

                       The AUC provides authentication and encryption parameters required for subscriber verification and to ensure call confidentially. AUC stores the 

  • a RANDom number (RAND)
  • a Signed RESponse (SRES)
  • a Ciphering Key (Kc)


* FNR (Flexible Numbering Register ) : 
                          The number portability enables a subscriber to change an GSM operator without changing his MSISDN number.

* BSS (Base Station System ) : 

                         The base Station System is composed of two major components.

  •        Base Station Controller (BSC)
  •        Radio Base Station (RBS)


* BSC / TRC :

                         The BSC can manage entire radio network and performs the following funcs:
          

  •          Handling MS connection and Handover
  •          Radio Network Management
  •          Trans coding and rate adaptation.
  •          Traffic Concentration
  •          Transmission management of the BTS
  •          Remote Control of the BTS


*  BTS or RBS ( Base Transceiver Station ) : 

                             It includes all radio and transmission interface equipment needed in one cell. Each BTS operates at one or several pairs of frequencies. One frequention is used to Transmit signal to MS and one to receive signal from MS.

*CHANNEL CONCEPT : 

The Carrier Seperation in GSM, is 200 KHz.

  • In GSM 900 band carriers are 124
  • In GSM 1800 band carriers are 374
  • In GSM 1900  band carriers are 299


>> Each carrier can be shared by eight MSs.


  • The number of channels in Gsm 900 band 124*8 = 992 channels
  • The number of channels in Gsm 1800 band 374*8 = 2952 channels


* Logical channels : 

                         There are eleven logical channels in the GSM system, two of which are used for Traffic and nine for control signaling.

* Traffic Channels (TCH) : 

                         Two types of TCHs are used :

  •  Full rate channel, Bm-  This channel is used for full rate speech
  •  Half rate channel, Lm -This channel can be used for half rate speech.



 CONTROL CHANNELS :

 * Broad Cast Channel (BCH) : 

  • FCCH ( Frequency correction channel ) : It is used for frequention correction of the MS, downlink only.
  • SCH ( Synchronization Channel ) : It carries information about TDMA frame number and BSIC ( Base station identity code ) of the BTS, downlink only.
  • BCCH (Broad cast control channel ) : Broad casts cell specific information to MS, dwonlink only.
 * Common Control Channels ( CCCH ) : 
  • PCH ( Paging channel ) : It is used to page the MS, downlink only.
  • RACH ( Random Access Channel ) : Used by the MS to request SDCCH or an access to MS call origination / registration.......etc. up link only.
  • AGCH ( Access Grant Channel ) : It is used to allocate SDCCH to an MS, downlink only.

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...