Thank You for visiting at https://c2crek.blogspot.com/ !! This Site is being updated continuously So, keep visiting here, shortly you'll get best solution for your technical concerns !!

Software testing:


Software testing:
To identify the defect within the software & Corrected
Input combination & Pre condition
·         STLC: (Software Testing Life Cycle)
·         Requirement Analysis / System Study
·         Write Test Plan / Test Case
·         Test Case Execution
·         Defect Tracking
·         Prepare TER (Test Execution Report) & Send it to the customer

Testing Methods:
1. Whitebox Testing : Transparent box testing and structural testing) / Use to test the internal structures (Data Flow Testing / Branch testing / Path testing / Statement Coverage / Decision coverage)
2. Black-Box Testing : To test the functionality of the application without testing the internal structure (Unit Testing / System Testing / Integration testing / Decision Table Testing / Error Guessing)
3. Gray Box Testing : It’s a combination of White-box testing and black-box testing

Testing Types:
Manual Testing : Manually testing the software defects (Role : end-User) which used to reduce the cost of the actual Testing. Unit Testing / Integration Testing / SW Testing (functional / non-functional) / System Testing / User Acceptance Testing / Release or Deployment Testing
Automation Testing : Using special software tool to control the execution of Test & Compare the Actual output with Predicted Output. (Functional Testing – QTP / Performance Testing – Loadrunner / Performance Centre / Software Quality Assurance – QC)

Certification:
·         Certified Associate in Software Testing (CAST)
·         Certified Manager in Software Testing (CMST)
·         Certified Test Manager (CTM)
·         Certified Software Tester (CSTE)
·         Certified Software Test Professional (CSTP)
·         ISTQB Certified Tester, Foundation Level (CTFL)
·         ISTQB Certified Tester, Advanced Level (CTAL)

Software Testing:
Testing methodologies:
1.       TDD (Test Driven Development)
2.       BDD (Behavior Driven Development)BDD extends the process of TDD.
BDD VS TDD
In TDD (Test Driven Development), the test is written to check the implementation of functionality, but as the code evolves, tests can give false results. BDD (Behavior Driven Development) is also a test-first approach, but differs by testing the actual behavior of the system from the end users perspective.

Types of Software Testing such as Functional Testing, Non-Functional Testing, Automation Testing, Agile Testing, and their sub-types, etc.

Different Types Of Software Testing: Unit Testing, Integration Testing, System Testing, Sanity Testing, Smoke Testing, Interface Testing, Regression Testing, Beta/Acceptance Testing.

Functional Testing :
1.       Unit Testing
2.       Integration Testing
3.       System Testing
4.       Sanity Testing
5.       Smoke Testing
6.       Interface Testing
7.       Regression Testing
8.       Beta/Acceptance Testing

Non-functional Testing:
1.       Performance Testing
2.       Load Testing
3.       Stress Testing
4.       Volume Testing
5.       Security Testing
6.       Compatibility Testing
7.       Install Testing
8.       Recovery Testing
9.       Reliability Testing
10.   Usability Testing
11.   Compliance Testing
12.   Localization Testing

System Testing VS Unit Testing VS Integration Testing:
Unit testing is a type of testing to check if the small piece of code is doing what it is suppose to do. Integration testing is a type of testing to check if different pieces of the modules are working together. Unit testing checks a single component of an application. System Testing is a level of software testing where a complete and integrated software is tested.
Integration testing is carried out after unit testing but before system testing.
Testing Tools / Testing Automation  (JUnit, Mockito & Spock):
·         JUnit is a unit testing framework for the Java programming language.
·         Mockito is an open source testing framework for Java released under the MIT License.
·         Spock is a Java testing framework capable of handling the full life cycle of a computer program.
Testing Automation Tools for Software Testing:
1.       JUnit
2.       REST Assured
3.       Selenium SE
4.       TestNG
5.       Mockito
6.       Spock Framework
7.       Cucumber
8.       Spring Test
9.       DBUnit
10.   Robot Framework
11.   Jmeter
JUnit is a unit testing framework for the Java programming language.
Selenium is a testing framework to perform web application testing across various browsers and platforms like Windows, Mac, and Linux.
Programming languages, libraries, and frameworks,
Many Java developers write unit tests and integration tests that automatically run during build time, mostly by using continuous integration tools like Jenkins or TeamCity.
If some of you are wondering why a programmer should focus on automation testing, then let me tell you that the importance of automation testing is growing exponentially due to more awareness and emergence of DevOps.
Companies generally prefer programmers who are good at writing unit tests and show good knowledge of various unit testing frameworks, libraries, and tools e.g. JUnit, Selenium, REST-Assured, Spock framework, etc.
automation testing
As a Java developer, we work on very different areas, starts from writing core Java code to creating JSP pages, writing REST APIs, and sometimes even creating Groovy scripts for build automation. That's why we also need to be aware of different tools we can use to automate testing.

For example, I only knew JUnit for a long time, but when I had to test my JSP pages, I was clueless until I found Selenium. Same goes with REST Assured because I usually test my REST API using curl commands, but REST Assured takes the unit testing of REST APIs to another level.

1. JUnit  JUnit 4, but JUnit 5
Almost all major IDEs, e.g. Eclipse, NetBeans, and IntelliJ, provide JUnit integrations, which means you can both write and run the unit test right from those IDEs.
2. REST Assured
Testing and validating REST services in Java is harder than in dynamic languages such as Groovy.
REST Assured brings the simplicity of using these languages into the Java domain. It's a great tool for REST API integration tests.
3. Selenium SE
Selenium is probably the most popular tool for Java UI testing, which allows you to test your JSP pages without launching them in a browser.
4. TestNG
TestNG is a testing framework inspired by JUnit and NUnit but introducing many new functionalities that make it more powerful and easier to use, such as annotations, running your tests in arbitrarily big thread pools with various policies available
5. Mockito
There are many mocking frameworks for Java classes, e.g. PowerMock and JMock, but I personally like Mockito for their simple API, great documentation, and lots of examples.
6. Spock Framework
Spock is another testing and specification framework for Java and Groovy applications. It's written in Groovy, which makes it a very expressive and to-the-point specification language.
7. Cucumber
Cucumber is another great tool for automated integration tests, but what makes it different from other tools in the same category is its specification capability.
8. Spring Test
Spring MVC comes with a very useful test framework that allows doing in-depth testing without even involving a web container.
9. DBUnit
A database is an integral part of many Java applications, both core Java and web applications, and probably the biggest obstacle while doing unit testing.
10. Robot Framework
The Robot Framework is a Python-based generic test automation framework for acceptance testing and acceptance test-driven development.
It is one of the most useful libraries for writing automated tests to Spring applications. It provides a first-class support for writing unit and integration tests to Spring-powered applications, including MVC controllers.
That's all about some of the essential unit testing and integration testing tools, frameworks, and libraries for Java developers.
Jmeter is a reliable source for performance and load testing. Apache Jmeter is a popular open source performance testing tool.

Automation testing:
Continuous Integration (CI) is a development practice that requires developers to integrate code into a shared repository several times a day. Each check-in is then verified by an automated build, allowing teams to detect problems early.



CI Continuous Integration
CD Continuous Delivery

What is a CI CD pipeline?
A CI/CD pipeline helps you automate steps in your software delivery process, such as initiating code builds, running automated tests, and deploying to a staging or production environment


QA/Testing:
QA Tester VS QA Analyst
QA tester is the one who test the application…QA Analyst is the one who analyzes the tested aplicationa dn certify it.
·         QA Analyst
·         QA Engineer
·         QA Lead
·         QA Mainframe Environment
·         QA People soft tester
·         QA SAP Tester
·         QA Siebel Tester
·         QA Unix Environment
·         QA Web Environment

Expertise in Automation, Web Application Testing and end-to-end(e2e) testing using testing frameworks like JMockito, JUnit, Mocha, Karma, Jasmine, Grunt, Gulp, Chai and Protractor.
Experience in Automation testing using Selenium Web Driver, JUnit and Maven.

Mocha or Jasmine - JavaScript Testing Framework


No comments:

Post a Comment

IT Skills

      Java Technologies Latest Version: Java SE 17, Java EE 8   Spring/spring boot? Microservices? C...