Saturday, May 6, 2023

STLC Life Cycle

 STLC Life Cycle:

  • The Software Testing Life Cycle (STLC) 
  • STLC yields a step-by-step process to ensure quality software
  •  It is a process that follows a series of steps or phases, and each phase has specific objectives and deliverables
  • The STLC is used to ensure that the software is of high quality, reliable, and meets the needs of the end-users    
  • Each of these stages includes specific activities and deliverables that help to ensure that the software is thoroughly tested and meets the requirements of the end users.
  • It ensures the quality of software applications and provides a systematic approach to testing          
  • the testing team analyzes and defines the scope of testing, entry and exit criteria, and also test cases     
  • It helps to reduce the test cycle time and also enhances product quality       


Phases of STLC:



1. Requirement Analysis:
                                           
  • QA team understands the requirements like what is to be tested. 
  • If anything is missing or not understandable then the QA team meets with the stakeholders to better understand the detailed knowledge of requirements.
  • Creating a requirement traceability matrix (RTM) to map requirements to test cases
Activities:
  1. Reviewing the software requirements document (SRD) and other related documents
  2. Interviewing stakeholders to gather additional information
  3. Identifying any ambiguities or inconsistencies in the requirements
  4. Identifying any missing or incomplete requirements
  5. Identifying any potential risks or issues that may impact the testing process

2. Test Planning:

  • Is the most efficient phase of the software testing life cycle where all testing plans are defined
  • In this phase manager of the testing, team calculates the estimated effort and cost of the testing work
  • This phase gets started once the requirement-gathering phase is completed.
  • At the end of this stage, the testing team should have a detailed plan for the testing activities that will be performed, and a clear understanding of the testing objectives, scope, and deliverables.

Activities:
  1. Identifying the testing objectives and scope
  2. Developing a test strategy: selecting the testing methods and techniques that will be used
  3. Identifying the testing environment and resources needed
  4. Identifying the test cases that will be executed and the test data that will be used
  5. Estimating the time and cost required for testing
  6. Identifying the test deliverables and milestones
  7. Assigning roles and responsibilities to the testing team
  8. Reviewing and approving the test plan
3. Test Case Development:
  • In this phase testing team notes down the detailed test cases
  • The testing team also prepares the required test data for the testing
  • When the test cases are prepared then they are reviewed by the quality assurance team.


Activities:
  1. Identifying the test cases that will be developed
  2. Writing test cases that are clear, concise, and easy to understand
  3. Creating test data and test scenarios that will be used in the test cases
  4. Identifying the expected results for each test case
  5. Reviewing and validating the test cases
  6. Updating the requirement traceability matrix (RTM) to map requirements to test cases

4. Test Environment Setup:
  
                          The testing team is not involved in the setup of the environment, either the developer or the customer creates the testing environment. but the testing team uses this environment to test the application or software.

Activities:
    1. Test the software or application in the same environment
    2. checking whether the environment is properly running or not

    5. Test Execution:
    • the testing team starts executing test cases based on prepared test cases in the earlier step.

    Activities:
    1. Test execution: The test cases and scripts created in the test design stage are run against the software application to identify any defects or issues.
    2. Defect logging: Any defects or issues that are found during test execution are logged in a defect tracking system, along with details such as the severity, priority, and description of the issue.
    3. Test data preparation: Test data is prepared and loaded into the system for test execution
    4. Test environment setup: The necessary hardware, software, and network configurations are set up for test execution
    5. Test execution: The test cases and scripts are run, and the results are collected and analyzed.
    6. Test result analysis: The results of the test execution are analyzed to determine the software’s performance and identify any defects or issues.
    7. Defect retesting: Any defects that are identified during test execution are retested to ensure that they have been fixed correctly.
    8. Test Reporting: Test results are documented and reported to the relevant stakeholders.
    6. Test Closure:
    • is to ensure that all testing-related activities have been completed and that the software is ready for release
    • the testing team should have a clear understanding of the software’s quality and reliability, and any defects or issues that were identified during testing should have been resolved. 
    • The test closure stage also includes documenting the testing process and any lessons learned so that they can be used to improve future testing processes
    Activities:
    1. Test summary report: A report is created that summarizes the overall testing process, including the number of test cases executed, the number of defects found, and the overall pass/fail rate.
    2. Defect tracking: All defects that were identified during testing are tracked and managed until they are resolved.
    3. Test environment clean-up: The test environment is cleaned up, and all test data and test artifacts are archived.
    4. Test closure report: A report is created that documents all the testing-related activities that took place, including the testing objectives, scope, schedule, and resources used.
    5. Knowledge transfer: Knowledge about the software and testing process is shared with the rest of the team and any stakeholders who may need to maintain or support the software in the future.
    6. Feedback and improvements: Feedback from the testing process is collected and used to improve future testing processes


      

    SDLC Life Cycle

     SDLC Life cycle: 

                 Software Development Life Cycle (SDLC), A life cycle model represents all the methods required to make a software product transit through its life cycle stages. Different life cycle models may plan the necessary development activities into phases in different ways, Proper planning and execution are the key components of a successful software development process.


    Why Need of SDLC Life Cycle:

    • development of a software product in a systematic and disciplined manner
    • clear understanding among team representatives about when and what to do
    • describes entry and exit criteria for each phase
    • It provides a foundation for project planning, scheduling, and estimating.
    • It establishes a framework for a consistent set of activities and deliverables.
    • It serves as a tool for project tracking and control.
    • It improves the visibility of project planning to all stakeholders involved in the development process.
    • It accelerates and enhances the speed of development

    SDLC Life cycle:



    The stages of SDLC:

    1. Planning and requirement analysis:

                                              Is the most important and necessary stage in SDLCPlanning is the crucial step in everything and so as in software development, requirement analysis is also performed by the developers of the organization. the requirement comes from the customers, sales department/market surveys.

    The business analyst and Project organizer set up a meeting with the client to gather all the data like what the customer wants to build, who will be the end user, and what is the objective of the product. Before creating a product, a core understanding or knowledge of the product is very necessary.
                                             
    Once the requirement is understood, the SRS (Software Requirement Specification) document is created. Also, refers the BRD Documents


    2Defining: 
                       
                        Once the requirement analysis is done, the next stage is to certainly represent and document the software requirements and get them accepted by the project stakeholders.

    This is accomplished through the "SRS"- Software Requirement Specification document which contains all the product requirements to be constructed and developed during the project life cycle.

    3. Designing:

    The next phase is about bringing down all the knowledge of requirements, analysis, and design of the software project. This phase is the product of the last two, like inputs from the customer and requirement gathering.

    4.Developing:

    In this phase of SDLC, the actual development begins, and the programming is built. The implementation of design begins concerning writing code. Developers have to follow the coding guidelines described by their management and programming tools like compilers, interpreters, debuggers, etc. are used to develop and implement the code

    5. Testing:

    After the code is generated, it is tested against the requirements to make sure that the products are solving the needs addressed and gathered during the requirements stage.

    Type of testing

    • unit testing
    • integration testing 
    • system testing
    • acceptance testing 
    • Regression Testing
    • Sanity Testing
    • Smoke Testing
    • Performance Testing

    6. Deployment:

                     Once the software is certified, and no bugs or errors are stated, then it is deployed.

    Then based on the assessment, the software may be released as it is or with suggested enhancement in the object segment.

    After the software is deployed, then its maintenance begins.

    7. Maintenance:

                             Once when the client starts using the developed systems, then the real issues come up and requirements are to be solved from time to time.

    This procedure where care is taken for the developed product is known as maintenance.



    Advantages:

    • Efficient with regard to costs
    • Efficacious in terms of time
    • Enhances teamwork and coordination, defines suitable roles for employees and increases workplace transparency.
    • Minimal danger when the project is implemented











    Wednesday, May 3, 2023

    What is Chatgpt

     ChatGPT:

                              is an artificial intelligence (AI), a natural language processing tool driven by AI technology that allows you to have human-like conversations and much more with the chatbot. the free artificial intelligence computer program that writes human-sounding answers to just about anything you ask, will spit out a 500-word essay explaining quantum physics with literary flair.


    ChatGPT  = Generative Pre-trained Transformer


    Who made ChatGPT?

    ChatGPT was created by OpenAI, an AI and research company. The company launched ChatGPT on November 30, 2022. 

    How to use ChatGPT to: 

    • Write an essay
    • Create an app
    • Write code
    • Build your resume
    • Write Excel formulas
    • Summarize content
    • Write a cover letter

    How works:

                           ChatGPT runs on a language model architecture created by OpenAI called the Generative Pre-trained Transformer (GPT)

    Introduction of Software Tester | Automation Tester | Manual Tester

     Software Testing:

                                   the process of verifying and validating whether a software or application is bug-free and meets the user requirements effectively and efficiently by handling all the exceptional and boundary cases

     *Software testing aims not only at finding faults in the existing software but also at finding measures to improve the software in terms of efficiency, accuracy, and usability.

    Main Two Steps: 

    1. Verification: It ensures that the software correctly implements a specific function. 

    2. Validation: It ensures that the software that has been built is traceable to customer requirements. 

    different types of software testing:

    1. Manual Testing: 

                                  Testing of software manually, i.e., without using any automation tool or any script. Testers create test plans, test cases, or test scenarios to test software to ensure the completeness of testing using high/low-level documents. (eg. FRS,BRS). compare Actual and expected results

    different stages of Testing:

    • unit testing
    • integration testing
    • system testing
    • user acceptance testing
    • exploratory testing

    2. Automation Testing:

                                       Tester writes scripts using automation tools (Selenium, cypress) and uses another software to test the product. Automation Testing is used to re-run the test scenarios quickly and repeatedly, that were performed manually in manual testing.
    Mainly automation is used for regression testing. also used to test the application from a load, performance, and stress point of view.


    Software Testing Techniques:


    1. Black Box Testing: In which the tester doesn’t have access to the source code of the software and is conducted at the software interface without any concern with the internal logical structure of the software is known as black-box testing. 

    2White-Box Testing: In which the tester is aware of the internal workings of the product, has access to its source code, and is conducted by making sure that all internal operations are performed according to the specifications is known as white box testing. 


    levels of software testing:

     

    1. Unit Testing: The tester tests individual units/components of a software/system are tested. The purpose is to validate that each unit of the software performs as designed. 

    2. Integration Testing: The tester tests individual units that are combined and tested as a group. The purpose of this level of testing is to expose faults in the interaction between integrated units. 

    3. System Testing: The tester tests complete, integrated system/software tested. The purpose of this test is to evaluate the system’s compliance with the specified requirements. 

    4. Acceptance Testing: The tester tests a system is tested for acceptability. The purpose of this test is to evaluate the system’s compliance with the business requirements and assess whether it is acceptable for delivery. 


    STLC Life Cycle

      STLC Life Cycle: The Software Testing Life Cycle (STLC)  STLC yields a step-by-step process to ensure quality software  It is a process th...