- What is Testing?
Testing is the way of checking the usefulness of the application whether it is working in as per the requirements.
- What is Unit Testing?
Unit testing is the process of testing of single entity (class or method). Unit testing is very important to every software company to deliver quality products to their customers
- What is Manual testing?
The process of executing the test cases manually without using any tool is known as Manual testing.
- What is Automated testing?
Automation testing is the process of executing the test cases by using automation tool.
- What are the disadvantages of manual testing?
The disadvantages of manual testing are as follows:
- Time consuming: As test cases are executed by human resources so it is very slow and tedious.
- Huge investment in human resources: As test cases need to be executed manually so more analyzers are required in manual testing.
- Less reliable: It is less reliable as tests may not be performed with exactness each time because of human errors.
- Non-programmable: No programming can be done to write complex tests which get concealed data.
- What are the advantages of automated testing?
The advantages of automated testing are as follows:
- Fast: Automation testing process is significantly faster than human resources.
- Less investment in human resources: Test cases are executed by using automation tool so less tester are required in automation testing.
- More reliable: Automation tests implement precisely same operation every time they are run.
- Programmable: Testers can program sophisticated tests to get the hidden information.
- What is JUnit?
JUnit is a Regression Testing Framework used by developers to implement unit testing in Java and accelerate programming speed and increase the quality of code.
- What are important features of JUnit?
Following are the important features of JUnit −
- It is an open source framework.
- Provides Annotation to identify the test methods.
- Provides Assertions for testing expected results.
- Provides Test runners for running tests.
- JUnit tests can be run automatically and they check their own results and provide immediate feedback.
- JUnit tests can be organized into test suites containing test cases and even other test suites.
- JUnit shows test progress in a bar that is green if test is going fine and it turns red when a test fails.
- What is a Unit Test Case?
A Unit Test Case is a part of code which ensures that the another part of code (method) works as expected. To achieve those desired results quickly, test framework is required .JUnit is perfect unit test framework for java programming language.
- What are the best practices to write a Unit Test Case?
A formal written unit test case is characterized by a known input and by an expected output, which is worked out before the test is executed. The known input should test a precondition and the expected output should test a post condition.
There must be at least two unit test cases for each requirement: one positive test and one negative test. If a requirement has sub-requirements, each sub-requirement must have at least two test cases as positive and negative.
First off all take a pen and paper and draw out some possible considerations for your interface layout. Produce some crucial wireframe drawings, guaranteeing you sketch out some human interface parts, like, buttons and drop-down menus that people will connect with.
- When are Unit Tests written in Development Cycle?
Tests are written before the code during development in order to help coders write the best code.
- Why does JUnit only report the first failure in a single test?
Reporting multiple failures in a single test is generally a sign that the test does too much and it is too big a unit test. JUnit is designed to work best with a number of small tests. It executes each test within a separate instance of the test class. It reports failure on each test.
- In Java, assert is a keyword. Won’t this conflict with JUnit’s assert() method?
JUnit 3.7 deprecated assert() and replaced it with assertTrue(), which works exactly the same way. JUnit 4 is compatible with the assert keyword. If you run with the -ea JVM switch, assertions that fail will be reported by JUnit.
- How do I test things that must be run in a J2EE container (e.g. servlets, EJBs)?
Refactoring J2EE components to delegate functionality to other objects that don’t have to be run in a J2EE container will improve the design and testability of the software. Cactus is an open source JUnit extension that can be used for unit testing server-side java code.
- Name the tools with which JUnit can be easily integrated.
JUnit Framework can be easily integrated with either of the followings −
- What are the core features of JUnit?
JUnit test framework provides following important features −
- Test suites
- Test runners
- JUnit classes
- What is a fixture?
Fixture is a fixed state of a set of objects used as a baseline for running tests. The purpose of a test fixture is to ensure that there is a well-known and fixed environment in which tests are run so that results are repeatable. It includes following methods:
- setUp() method which runs before every test invocation.
- tearDown() method which runs after every test method.
- What is a test suite?
Test suite means bundle a few unit test cases and run it together. In JUnit, both @RunWith and @Suite annotation are used to run the suite test.
- What is a test runner?
Test runner is used for executing the test cases.
- What are JUnit classes? List some of them.
JUnit classes are important classes which are used in writing and testing JUnits. Some of the important classes are −
- Assert − It contains a set of assert methods.
- TestCase − It contains a test case defines the fixture to run multiple tests.
- TestResult − It contains methods to collect the results of executing a test case.
- TestSuite − It is a Composite of Tests.
- What are annotations and how are they useful in JUnit?
Annotations are like meta-tags that you can add to you code and apply them to methods or in class. The annotation in JUnit gives us information about test methods, which methods are going to run before & after test methods, which methods run before & after all the methods, which methods or class will be ignore during execution.
- How will you run JUnit from command window?
Follow the steps below −
- Set the CLASSPATH
- Invoke the runner −
- java org.junit.runner.JUnitCore
- What is the purpose of org.junit.Assert class?
This class provides a set of assertion methods useful for writing tests. Only failed assertions are recorded.
- What is the purpose of org.junit.TestResult class?
A TestResult collects the results of executing a test case. It is an instance of the Collecting Parameter pattern. The test framework distinguishes between failures and errors. A failure is anticipated and checked for with assertions. Errors are unanticipated problems like an ArrayIndexOutOfBoundsException.
- What is the purpose of org.junit.TestSuite class?
A TestSuite is a Composite of Tests. It runs a collection of test cases.
- What is the purpose of @Test annotation in JUnit?
The Test annotation tells JUnit that the public void method to which it is attached can be run as a test case.
- What is the purpose of @Before annotation in JUnit?
Several tests need similar objects created before they can run. Annotating a public void method with @Before causes that method to be run before each Test method.
- What is the purpose of @After annotation in JUnit?
If you allocate external resources in a before method you need to release them after the test runs. Annotating a public void method with @After causes that method to be run after the Test method.
- What is the purpose of @BeforeClass annotation in JUnit?
Annotating a public static void method with @BeforeClass causes it to be run once before any of the test methods in the class.
- What is the purpose of @AfterClass annotation in JUnit?
This will perform the method after all tests have finished. This can be used to perform clean-up activities.