a:6:{i:0;s:14157:"				<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="h1"><h1>Job openings for quality assurance analyst in bangalore</h1></div>
					<p class="breadcrumb ar uu small"> <a href="https://www.dmsrecruiters.com/">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="https://www.dmsrecruiters.com/current-jobs.htm" title="Current Jobs">Current Jobs</a>  			
											
					<b class="ffv p2px">&rsaquo;</b> Job openings for quality assurance analyst in bangalore</p>
									<div class="pt10px">
				<div class="dt w100">
				<div class="dtc">
				<div class="xxxlarge fw6 dif">Quality Assurance Analyst</div>
									<p class="mt7px fw6">Bangalore</p>
								
				</div>
				<div class="dtc w125px"><div class="mt7px">
									
					<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="969671">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="1007083"><input type="hidden" name="subject" value="Applied for Quality Assurance Analyst">
					</form>
			
									</div></div>
				</div>
								
				<br>
				<p class="aj mt7px">Job Description:<br />
A Quality Assurance Analyst has expertise in analysis, testing, data management and problem solving. These skills are used to test software applications to make sure they work as designed and solve the intended business problem. This will involve working closely with Developers and Business Systems Analysts to understand specifications for new application components and/or improve existing application components. You will be expected to design, write, document, and maintain test scripts. Looking for a very detailed person that can think out of the box to test and insure quality. Experience in developing functional automation testing is a must. You will assist other teams as needed to complete a release and maintain the quality of the system and documentation. In addition to the primary responsibilities listed above, work with other teams assisting with analyses and troubleshooting help desk tickets.<br />
Essential Duties and Responsibilities:<br />
• Be creative in finding testing solutions • Design, develop and execute automation scripts. • Identify, record, document thoroughly and track bugs • Perform thorough regression testing when bugs are resolved<br />
• Manually test web applications on multiple browsers<br />
• Research, identify, reproduce, isolate and report defects<br />
• Verify resolved defects against applicable environments<br />
• Ability to juggle multiple projects; from new application launches to maintenance releases.<br />
• Construct test cases; modify the existing test cases as the test requirements change<br />
• Collaborate with the Development, Project Managers and Product Team to ensure that quality standards are met<br />
• Use feedback from customer support to expand test scenarios<br />
• Assist Product Team in resolving layout and formatting issues (e.g. design, user-flow experience)<br />
• Provide input/status updates regarding test progress/results daily.<br />
Knowledge/Skills:<br />
• BS/MS degree in Computer Science, Engineering or a related subject<br />
• 2+ years of experience in software te</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">2 - 8 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 8  Lac  To  10  Lac  P.A.</td>
							</tr>				
											
					<tr>
					<td class="alpha75 p5px">Industry</td>
					<td class="p5px">Manufacturing / Production / Quality</td>
					</tr>
									
									<tr>
					<td class="alpha75 p5px">Qualification</td>
					<td class="p5px">B.Sc, MS/Master of Surgery, M.Sc</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<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"> Automation Tester</span>
												<span class="bdr dib p2px10px mr5px mt2px"> SQL</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Quality Control</span>
												<span class="bdr dib p2px10px mr5px mt2px"></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">Jayaram sathyamurthy</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Address</td>
						<td class="p5px"># 7, 2nd Floor,Nanjundeswara Complex,BEML Main Road New</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Mobile </td>
						<td class="p5px">6362123411 </td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:darshinimanagementsolutions@gmail.com"> darshinimanagementsolutions@gmail.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="969671">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="1007083"><input type="hidden" name="subject" value="Applied for Quality Assurance Analyst">
					</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-bangalore.htm" title="Jobs in Bangalore">Bangalore</a> <b class="alpha50 bn small">(57)</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">(9)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-mysore.htm" title="Jobs in Mysore">Mysore</a> <b class="alpha50 bn small">(9)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-jaipur.htm" title="Jobs in Jaipur">Jaipur</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-indore.htm" title="Jobs in Indore">Indore</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-gurgaon.htm" title="Jobs in Gurgaon">Gurgaon</a> <b class="alpha50 bn small">(1)</b></span>
										<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">(1)</b></span>
											<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-zambia.htm" title="Jobs in Zambia">Zambia</a> <b class="alpha50 bn small">(2)</b></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">(13)</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">(10)</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">(9)</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">(6)</span><a href="jobs-in-web-designing-programming-fid.htm" title="IT Software - Others Jobs">IT Software - Others</a></p>
										<p class="mb5px "><span class="fr">(6)</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">(4)</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">(3)</span><a href="jobs-in-property-construction-fid.htm" title="Real Estate / Construction Jobs">Real Estate / Construction</a></p>
										<p class="mb5px "><span class="fr">(3)</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-client-server-fid.htm" title="IT Software - Client Server Jobs">IT Software - Client Server</a></p>
										<p class="mb5px "><span class="fr">(3)</span><a href="jobs-in-hr-recruitment-administration-ir-training-development-operations-fid.htm" title="HR / Recruitment / Administration / IR / Training & Development / Operations Jobs">HR / Recruitment / Administrat...</a></p>
										<p class="mb5px "><span class="fr">(2)</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 spanlist dn"><span class="fr">(2)</span><a href="jobs-in-system-programming-fid.htm" title="IT Software - System Programming Jobs">IT Software - System Programmi...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(2)</span><a href="jobs-in-education-teaching-training-counselling-fid.htm" title="Education / Teaching / Training / Counselling / Academic Jobs">Education / Teaching / Trainin...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(2)</span><a href="jobs-in-supply-chain-purchase-procurement-fid.htm" title="Supply Chain / Purchase / Procurement Jobs">Supply Chain / Purchase / Proc...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(2)</span><a href="jobs-in-it-hardware-networking-fid.htm" title="IT Hardware – Networking Jobs">IT Hardware – Networking</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-media-entertainment-tv-films-production-broadcasting-fid.htm" title="Media / Entertainment /  TV / Films / Production / Broadcasting Jobs">Media / Entertainment /  TV / ...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</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 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-oil-gas-petroleum-fid.htm" title="Oil / Gas / Petroleum Jobs">Oil / Gas / Petroleum</a></p>
										<p class="mb5px spanlist dn"><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-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: 'UG5SOElES3lmU1A1bDRpeVhZbExudz09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:87:"Job openings for quality assurance analyst in bangalore | Darshini management solutions";i:2;s:216:"Quality Assurance Analyst Jobs,Quality Assurance Analyst Jobs in Bangalore,Quality Assurance Analyst Vacancy in Bangalore,Quality Assurance Analyst jobs in India,Manufacturing / Production / Quality jobs in Bangalore";i:3;s:359:"Apply for Quality Assurance Analyst Jobs in Bangalore India - Quality Assurance Analyst Vacancy  in Manufacturing / Production / Quality field with 2 to 8 years Work Experience, Key Skills are Manual Testing, QTP-Quick Test Professional, Software Testing, Automation Tester, SQL, Quality Control,, Manufacturing / Production / Quality jobs in Bangalore  India";i:4;s:3324:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Quality Assurance Analyst",
		  "identifier": {
	        "@type": "PropertyValue",
	        "name": "",
	        "value":  "1007083"
	      },
		  "hiringOrganization": {
	      "@type" : "Organization",
	      "name" : "",
	      "description": "",
	      "telephone" : "6362123411",
	      "email" : "darshinimanagementsolutions@gmail.com"  
	       },
		  "url": "https://www.dmsrecruiters.com/job-openings-for-quality-assurance-analyst-bangalore-1007083.htm",
          "datePosted": "2021-09-01",
          
		  "baseSalary": " 8  Lac  To  10  Lac ",
		  "description": "Job Description:
A Quality Assurance Analyst has expertise in analysis, testing, data management and problem solving. These skills are used to test software applications to make sure they work as designed and solve the intended business problem. This will involve working closely with Developers and Business Systems Analysts to understand specifications for new application components and/or improve existing application components. You will be expected to design, write, document, and maintain test scripts. Looking for a very detailed person that can think out of the box to test and insure quality. Experience in developing functional automation testing is a must. You will assist other teams as needed to complete a release and maintain the quality of the system and documentation. In addition to the primary responsibilities listed above, work with other teams assisting with analyses and troubleshooting help desk tickets.
Essential Duties and Responsibilities:
• Be creative in finding testing solutions • Design, develop and execute automation scripts. • Identify, record, document thoroughly and track bugs • Perform thorough regression testing when bugs are resolved
• Manually test web applications on multiple browsers
• Research, identify, reproduce, isolate and report defects
• Verify resolved defects against applicable environments
• Ability to juggle multiple projects; from new application launches to maintenance releases.
• Construct test cases; modify the existing test cases as the test requirements change
• Collaborate with the Development, Project Managers and Product Team to ensure that quality standards are met
• Use feedback from customer support to expand test scenarios
• Assist Product Team in resolving layout and formatting issues (e.g. design, user-flow experience)
• Provide input/status updates regarding test progress/results daily.
Knowledge/Skills:
• BS/MS degree in Computer Science, Engineering or a related subject
• 2+ years of experience in software te",
		  "educationRequirements": "B.Sc, MS/Master of Surgery, M.Sc",
		  "experienceRequirements": "2 - 8 Years",
		  "industry": "Manufacturing / Production / Quality",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Karnataka",
		      "addressRegion": "Bangalore"
		    }
		  },
		 "qualifications": "B.Sc, MS/Master of Surgery, M.Sc",
		     "skills": "Manual Testing, QTP-Quick Test Professional, Software Testing, Automation Tester, SQL, Quality Control,"
		  }
		</script>
		";i:5;N;}