a:6:{i:0;s:12342:"					<section class="headBg theme2 ">
					<div class="wrap">
					<div class="page-title-inner fo"> 
					<div class="h1"><h1>Job openings for software test engineer in mumbai</h1></div>
					<p class="breadcrumb ar uu small"><a href="https://www.primestarhr.com/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="https://www.primestarhr.com/job-corner.htm" title="Job Corner">Job Corner</a>
																
					<b class="ffv p2px">&rsaquo;</b> Job openings for software test engineer in mumbai</p>
					</div>
					</div>
					</section>
									<section id="middle">
				<div class="wrap" id="bodyFormatNT">
				<div class="row1 dt columns23"><!--MIDDLE ROW1 STARTS-->
				<div class="col-2 wideColumn ip ls detail_pm_15"><!--MIDDLE ROW1 COL-2 STARTS-->
				
								<div class="pt10px">
				<div class="xxxlarge fw6 dif">Software Test Engineer</div>
									<p class="mt7px fw6">Mumbai</p>
									
				<br>
				<p class="aj mt7px">Role: Tester<br />
Location: Mumbai <br />
Salary: 5 LPA to 6.5 LPA<br />
We are looking for a QA Tester to assess software quality through manual and automated testing. He/she will be responsible for finding and reporting bugs and glitches. In this role, He/she should have a keen eye for detail and excellent communication skills. Anyone who is competent in executing test cases and are passionate about quality, we’d like to meet you.<br />
<br />
Responsibilities<br />
•	Review and analyse system specifications<br />
•	Collaborate with QA Engineers to develop effective strategies and test plans<br />
•	Execute test cases (manual or automated) and analyse results<br />
•	Evaluate product code according to specifications<br />
•	Create logs to document testing phases and defects<br />
•	Report bugs and errors to development teams<br />
•	Help troubleshoot issues<br />
•	Conduct post-release/ post-implementation testing<br />
•	Work with cross-functional teams to ensure quality throughout the software development lifecycle<br />
<br />
Qualifications/Skills Required<br />
•	Proven experience as a Quality Assurance Tester or similar role<br />
•	Experience in project management and QA methodology<br />
•	Familiarity with Agile frameworks and regression testing is a plus<br />
•	Ability to document and troubleshoot errors<br />
•	Working knowledge of test management software (e.g., qTest, Zephyr) and SQL<br />
•	Excellent communication skills<br />
•	Attention to detail<br />
•	Analytical mind and problem-solving aptitude<br />
•	Strong organizational skills<br />
•	BSc/BA in Computer Science, Engineering or a related field</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">3 - 5 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 5  Lac  To  6  Lac  50 Thousand  P.A.</td>
							</tr>				
											
					<tr>
					<td class="alpha75 p5px">Industry</td>
					<td class="p5px">IT Software - QA / Testing / Documentation</td>
					</tr>
									
									<tr>
					<td class="alpha75 p5px">Qualification</td>
					<td class="p5px">Diploma, Professional Degree, B.A, B.C.A, B.Sc, B.Tech/B.E, Post Graduate Diploma</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">Automation Testing</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Manual Testing</span>
												<span class="bdr dib p2px10px mr5px mt2px"> QTP-Quick Test Professional</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Software Testing</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Functional Testing</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Software Test Engineer</span>
											</td>
					</tr>
									
				</table>
				</div>
				<br>
				<div class="pt20px">
				<p class="large fw6">About Company</p>
				<div class="mt10px">
				
									<table class="w100 formTable bdr0 mt5px">
											<tr>
						<td class="w195 alpha75 p5px">Contact Person</td>
						<td class="p5px">Jayati Sonejee</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Address</td>
						<td class="p5px">Reg Office: Fort, Mumbai</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Mobile </td>
						<td class="p5px">9869784909 </td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:jayati@primestarhr.com"> jayati@primestarhr.com </a></td>
						</tr>
										
					</table>
									
				<br />
				
									
					<div class="bdrT pt20px">
					<form name="frmvacdetail" method="post" action="enquiry-form-10009.htm">
					<input style="padding:7px 15px;" class="button b ffos" type="submit" value="APPLY NOW !" />
					<input type="hidden" name="catalog_mi" value="651241">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="972028"><input type="hidden" name="subject" value="Applied for Software Test Engineer">
					</form>
					</div>
			
									</div>
				</div>			
				
				<!--MIDDLE ROW1 COL-2 ENDS--> 
				</div>
				<div class="col-3 thinColumn"><!--MIDDLE ROW1 COL-1 STARTS-->
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="large fw6 alpha75 p12px bdrB">
				<h2>Jobs by Location</h2>
				</div>
				<div class="ic">
				<div class="mt10px">
									<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-mumbai.htm" title="Jobs in Mumbai">Mumbai</a> <b class="alpha50 bn small">(27)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-thane.htm" title="Jobs in Thane">Thane</a> <b class="alpha50 bn small">(8)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-delhi.htm" title="Jobs in Delhi">Delhi</a> <b class="alpha50 bn small">(8)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-ludhiana.htm" title="Jobs in Ludhiana">Ludhiana</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-navi-mumbai.htm" title="Jobs in Navi Mumbai">Navi Mumbai</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-chennai.htm" title="Jobs in Chennai">Chennai</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-pune.htm" title="Jobs in Pune">Pune</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-bangalore.htm" title="Jobs in Bangalore">Bangalore</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-nashik.htm" title="Jobs in Nashik">Nashik</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-ahmedabad.htm" title="Jobs in Ahmedabad">Ahmedabad</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-hyderabad.htm" title="Jobs in Hyderabad">Hyderabad</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="uu db ar"><a class="showallspan" data-target="show" href="javascript:void(0)" >View More</a></span>
									</div>
				</div>
				</div>
				</div>
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="large fw6 alpha75 p12px bdrB">
				<h2>Jobs by Functional Area</h2>
				</div>
				<div style="padding:10px 18px;" class="ic">
									<p class="mb5px "><span class="fr">(14)</span><a href="jobs-in-sales-marketing-business-development-telecaller-fid.htm" title="Sales & Marketing / Business Development/telecaller Jobs">Sales & Marketing / Business D...</a></p>
										<p class="mb5px "><span class="fr">(7)</span><a href="jobs-in-application-programming-fid.htm" title="IT Software - Application Programming / Maintenance Jobs">IT Software - Application Prog...</a></p>
										<p class="mb5px "><span class="fr">(4)</span><a href="jobs-in-engineering-design-rd-quality-fid.htm" title="Engineering/ Engineering Design / R&D / Quality Jobs">Engineering/ Engineering Desig...</a></p>
										<p class="mb5px "><span class="fr">(4)</span><a href="jobs-in-ites-bpo-kpo-lpo-customer-service-fid.htm" title="ITES / BPO / KPO / LPO / Customer Service Jobs">ITES / BPO / KPO / LPO / Custo...</a></p>
										<p class="mb5px "><span class="fr">(3)</span><a href="jobs-in-financial-services-banking-investments-insurance-stock-market-loan-fid.htm" title="Financial Services / Banking, Investments / Insurance / stock market / Loan Jobs">Financial Services / Banking, ...</a></p>
										<p class="mb5px "><span class="fr">(2)</span><a href="jobs-in-biotech-scientist-fid.htm" title="Pharma / R&D / Biotech Jobs">Pharma / R&D / Biotech</a></p>
										<p class="mb5px "><span class="fr">(2)</span><a href="jobs-in-computers-it-fid.htm" title="IT Hardware / Technical Support / Telecom Engineering Jobs">IT Hardware / Technical Suppor...</a></p>
										<p class="mb5px "><span class="fr">(2)</span><a href="jobs-in-health-care-pharmaceuticals-medical-fid.htm" title="Health Care / Pharmaceuticals / Medical Jobs">Health Care / Pharmaceuticals ...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-ecommerce-internet-marketing-fid.htm" title="IT Software - Ecommerce / Internet Technologies Jobs">IT Software - Ecommerce / Inte...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-manufacturing-production-fid.htm" title="Manufacturing / Production / Quality Jobs">Manufacturing / Production / Q...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-it-analyst-software-testing-fid.htm" title="IT Software - QA / Testing / Documentation Jobs">IT Software - QA / Testing / D...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-export-import-merchandising-fid.htm" title="Export / Import / Merchandising Jobs">Export / Import / Merchandisin...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-front-office-reception-computer-operator-assistant-fid.htm" title="Front Office / Reception/Computer Operator/Assistant Jobs">Front Office / Reception/Compu...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-accounting-tax-fid.htm" title="Accounting / Auditing / Taxation Jobs">Accounting / Auditing / Taxati...</a></p>
										<span class="uu db ar"><a class="showallspan" data-target="show" href="javascript:void(0)" >View More</a></span>
									
				</div>
				</div>
				</div>
				
				</div>
				<!--MIDDLE ROW1 COL-1 ENDS-->
				
				<!--MIDDLE ROW1 ENDS--> 
				</div>
				<br><br>
				</div>
				</section>
				<script>
					window.addEventListener("DOMContentLoaded", function(){
						jQuery(document).on("click", ".showallspan", function(){
							if(jQuery(this).attr("data-target") === 'show'){
								jQuery(this).text("View Less");
								jQuery(this).attr("data-target", "hide");
								jQuery(this).closest("div").find(".spanlist").removeClass("dn");
							}else{
								jQuery(this).text("View More");
								jQuery(this).attr("data-target", "show");
								jQuery(this).closest("div").find(".spanlist").addClass("dn");
							}
						});
					});
				</script>
					<script>
	$.ajax({
	  url: "https://www.placementindia.com/job_posting_view.php",
	  type: "POST",
	  dataType: 'html',
	  data: {job_view_id: 'L0tLSzQyZURuZU9iVjVIS2Y4enlVZz09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:65:"Job openings for software test engineer in mumbai | Prime Star HR";i:2;s:201:"Software Test Engineer Jobs,Software Test Engineer Jobs in Mumbai,Software Test Engineer Vacancy in Mumbai,Software Test Engineer jobs in India,IT Software - QA / Testing / Documentation jobs in Mumbai";i:3;s:381:"Apply for Software Test Engineer Jobs in Mumbai India - Software Test Engineer Vacancy  in IT Software - QA / Testing / Documentation field with 3 to 5 years Work Experience, Key Skills are Automation Testing, Manual Testing, QTP-Quick Test Professional, Software Testing, Functional Testing, Software Test Engineer, IT Software - QA / Testing / Documentation jobs in Mumbai  India";i:4;s:2458:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Software Test Engineer",
		  "baseSalary": " 5  Lac  To  6  Lac  50 Thousand ",
		  "description": "Role: Tester
Location: Mumbai 
Salary: 5 LPA to 6.5 LPA
We are looking for a QA Tester to assess software quality through manual and automated testing. He/she will be responsible for finding and reporting bugs and glitches. In this role, He/she should have a keen eye for detail and excellent communication skills. Anyone who is competent in executing test cases and are passionate about quality, we’d like to meet you.

Responsibilities
•	Review and analyse system specifications
•	Collaborate with QA Engineers to develop effective strategies and test plans
•	Execute test cases (manual or automated) and analyse results
•	Evaluate product code according to specifications
•	Create logs to document testing phases and defects
•	Report bugs and errors to development teams
•	Help troubleshoot issues
•	Conduct post-release/ post-implementation testing
•	Work with cross-functional teams to ensure quality throughout the software development lifecycle

Qualifications/Skills Required
•	Proven experience as a Quality Assurance Tester or similar role
•	Experience in project management and QA methodology
•	Familiarity with Agile frameworks and regression testing is a plus
•	Ability to document and troubleshoot errors
•	Working knowledge of test management software (e.g., qTest, Zephyr) and SQL
•	Excellent communication skills
•	Attention to detail
•	Analytical mind and problem-solving aptitude
•	Strong organizational skills
•	BSc/BA in Computer Science, Engineering or a related field",
		  "educationRequirements": "Diploma, Professional Degree, B.A, B.C.A, B.Sc, B.Tech/B.E, Post Graduate Diploma",
		  "experienceRequirements": "3 - 5 Years",
		  "industry": "IT Software - QA / Testing / Documentation",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Maharashtra",
		      "addressRegion": "Mumbai"
		    }
		  },
		 "qualifications": "Diploma, Professional Degree, B.A, B.C.A, B.Sc, B.Tech/B.E, Post Graduate Diploma",
		     "skills": "Automation Testing, Manual Testing, QTP-Quick Test Professional, Software Testing, Functional Testing, Software Test Engineer"
		  }
		</script>
		";i:5;N;}